shell编程笔记

test命令:如果条件成立,test命令状态为0退出,if条件成立

    数字比较:
        -gt    大于
        -eq    等于
        -le    小于
        -ne    不等于
        简写形式[ $a -le $b ]
    字符串比较:
        str1 =str2
        str1!=str2

    文件比较
        -d    检查文件是否存在,并且是一个目录
        -e    检查文件是否存在
        -f    检查是否存在,并且是一个文件
        -r    检查文件是否存在,并且可读
        -x      检查文件是否存在,并且是否可执行
        -w    检车文件是否存在,并且是否可写
        file1 -nt file2    file1是否比file2新
        file1 -ot file2 file1是否比file2旧

    多个条件 []
        if [  ] &&[  ]
    任意数学赋值或者比较表达式
        if ((  a++ > 90 ))
    
case命令:
    testuser="leilu"
    case $testuser in
    rose)
        echo "is leilu ";;
    ricky)
        echo "is ricky ";;
    *)
        echo "is default";;
    esac


for循环:
    程序1:
        for item in Mother Father Brother
        do
            echo $item
        done


    
    程序2:
        str="--Mother--Father--Brother"
        IFS=$--
        for item in str
        do
            echo $item
        done
        加上IFS=$--就将--去掉了

while命令:
    while test commangd
    do
        命令
    done

    例子:
        a=0
        while (( $a <= 10 ))
        do
            if (( $a  >= 7 ))
            then
                echo "大于7了"
            else
                echo "num:$a"
                break
            a=$[ $a + 1 ]
            fi
        done


获取参数总数:
    $#:获取变量个数
    $0:获取文件名
    $@:打印所有参数

    遍历所有参数:
        for item in "$@"
        do
            echo $item
        done

输入输出重定向:
    ./a.txt $> test.txt

标准输入输出:
    #0    STDIN
    #1    STDOUT
    #2    STDERR

    例子:
        exec 1>test1
        exec 2>test2
        

函数:

    例子1:
        function myfun() [这里要有空格]{
            echo $1
            ehco $2
        }

        myfun 1  2


    例子2:
        function a() {
            echo $[ $1 + $2 ]
        }

        value = $( a 1 2 )
        echo $value


        引入领外一个脚本:
            source   脚本路径   或者.  脚本路径



编译ffmpeg:
    编写shell脚本之前,要执行./configure   --disable-yasm   主要目的就行进行一系列的准备工作,如果说
    检查gcc的版本,生成config.mak等文件

    编写脚本:
        function build_ffmpeg() {
            echo "开始编译..."
            ./configure -tartget-os=linux \(这是换行符,这里不能有空格)
            --prefix=$PREFIX \
            --cpu=$CPU \
            --arch=ARCH \
            --enable-shared \
            --disable-static \
            --disable-yasm \
            --disable-ffmpeg \
            --disable-ffplay \
            --disable-ffprobe \
            --disable-ffserver \
            --disable-doc \
            --disable-htmlpages \
            --disable-manpages \
            --disable-podpages \
            --disable-txtpages
            make clean
            make
            make install

            echo "编译完成..."

        }
        ARCH=arm
        CPU=arm
        PREFIX=$(pwd)/android/$CPU
        build_ffmpeg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值