shell学习笔记

来源:互联网 发布:仓鼠多少钱一只淘宝上 编辑:程序博客网 时间:2024/06/14 09:22

echo:输出命令

linux下运行sh文件三种方法
1.chomd +x    test.sh  
    ./test.sh
2.sh test.sh
3.source test.sh

shell命令的组合运用
1.管道操作: | 将前一端烦人输出命令交给另一端命令处理
2.重定向操作:改变执行命令时的默认输入、输出
    重定向输入:<:从指定文件读取数据,而不是从键盘输入
    重定向输出:>/>>:将输出结果覆盖/追加到指定文件
    标准错误输出:2>/2>>:将错误信息覆盖/追加到指定文件
    混合输出&>/&>>:将标准输出和错误信息覆盖/追加到指定文件
3.逻辑分割
    &&:逻辑与
    ||:逻辑或
    ;:顺序执行



使用变量:
    定义及赋值:变量名=变量值
    引用变量:$变量名、${变量名}
    例子:
    title=test
    echo $title
1.双引号
    允许引用、\转义
    echo "$title"
    test
2.单引号
    禁止引用、\转义
    echo "$title"
    $title
3.反撇号~,或者$()
    以命令输出进行替换


环境变量:
    1.用来记录/设置运行参数
    系统赋值:USER、LOGNAME、HOME、SHELL、.........
    用户操作:PATH、LANG、CLASSPATH、..........
    
特殊变量
    $?:记录前一条命令的状态值,0为正常,非0异常
        mkdir /test
        echo $?
            0
    $0:脚本自身程序名
    $1-$9:第1-第9个位置参数
    $*:命令行的所有位置参数的内容
    $#:命令行的位置参数个数
    
cat test.sh
    echo  "本程序名为:$0"
    echo  "命令行的位置参数个数为:$#"
    echo  "第1个位置参数为:$1"
    echo  "所有位置参数的内容:$*"
    
    ./test.sh aa bb cc
    本程序名:./test.sh
    命令行的位置参数个数:3
    第1个位置参数为:aa
    所有位置参数的内容: aa  bb cc
    

    
数值运算及处理;
    1.整数运算操作  乘法需要用\*做出转义
        计算表达式格式expr:expr 数值1 操作符 数值2
            expr 45\*21   expr 45-21
            x=45;y=21;expr $x-$y
        算式替换$[]:$[数值1 操作符 数值2]
                echo $[45*21]  echo $[45-21]
                x=45;y=21;echo[x-y]
    2.几个数值操作出来技巧
        递更处理:let count++、let count--
            x=45;
            let x++;echo $x-$
            46
            let x+=2;echo $x-$
            48
        随机数:RANDOM变量(0-32767)
        echo $RANDOM
        echo $[RANDOM%100]
        生成数字序列:seq 首数 末数、seq 首数 增量 末数
            seq 3
            1
            2
            3
            seq 3 5
            3
            4
            5
            seq 3 2(每次增加的数字) 10
            3
            5
            7
            9
    3.小数运算操作:将表达式传给bc处理;scale=n,n对除法的位数做出限制
        echo "45.67-21.05" | bc
        24.62
        echo "scale=4;10/3" |bc
        3.333


    


    























0 0
原创粉丝点击