Linux运维初级二(shell脚本语法总结)

shell编程

        bash变量类型:

            环境变量
            本地变量(局部变量)
            位置变量
            特殊变量

            
        本地变量:

                set VARNAME=VALUE: 作用域为整个bash进程;

        局部变量:
                local VARNAME=VALUE:作用域为当前代码段;

        环境变量:作用域为当前shell进程及其子进程;
                export VARNAME=VALUE
                VARNAME=VALUE
                export VARNAME
            “导出”

        位置变量:
                $1, $2, ...

        特殊变量:
                $?: 上一个命令的执行状态返回值;

        程序执行,可能有两类返回值:
            程序执行结果
            程序状态返回代码(0-255)
                0: 正确执行
                1-255:错误执行,1,2,127系统预留;
                
        输出重定向:
                >
                >>
               2>
                2>>
                &>

        撤消变量:
                unset VARNAME

        查看当前shell中变量:
                set

        查看当前shell中的环境变量:
                printenv
                env
                export

        编写脚本:命令的堆砌,按实际需要,结合命令流程控制机制实现的源程序

               第一行是 shebang: 魔数  
                #!/bin/bash   //which bash    执行which bash查看使用的那个bash脚本执行
                # 注释行,不执行

 

        /dev/null: 软件设备, bit bucket,数据黑洞    

            
        脚本在执行时会启动一个子shell进程;
            命令行中启动的脚本会继承当前shell环境变量;
            系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量;
            

    条件测试类型:

            整数测试
            字符测试
            文件测试

        条件测试的表达式:
            [ expression ]
            [[ expression ]]
            test expression
            
        整数比较:
            -eq: 测试两个整数是否相等;比如 $A -eq $B
            -ne: 测试两个整数是否不等;不等,为真;相等,为假;
            -gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;
            -lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;
            -ge: 大于或等于
            -le:小于或等于
            
        命令的间逻辑关系:
            逻辑与: &&
                第一个条件为假时,第二条件不用再判断,最终结果已经有;
                第一个条件为真时,第二条件必须得判断;
            逻辑或: ||

        shell中如何进行算术运算:

   A=3
              B=6
        1、let 算术运算表达式
            let C=$A+$B
        2、$[算术运算表达式]
            C=$[$A+$B]
        3、$((算术运算表达式))
            C=$(($A+$B))
        4、expr 算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用
            C=`expr $A + $B`

文件测试:    

        -e FILE:测试文件是否存在
        -f FILE: 测试文件是否为普通文件
        -d FILE: 测试指定路径是否为目录
        -r FILE: 测试当前用户对指定文件是否有读取权限;
        -w
        -x    

        定义脚本退出状态码

            exit: 退出脚本
            exit #
            如果脚本没有明确定义退出状态码,那么,最后执行的一条命令的退出码即为脚本的退出状态码;

测试脚本是否有语法错误:

        bash -n 脚本

        bash -x 脚本:单步执行

bash变量的类型:

本地变量(局部变量)
        环境变量
        位置变量: 
            $1, $2, ...
            shift
        特殊变量:
            $?
            $#:参数的个数
            $*: 参数列表
            $@:参数列表

脚本循环:

        for
        while
        until

        for 变量 in 列表; do
          循环体
        done

        for I in 1 2 3 4 5 6 7 8 9 10; do
          加法运算
        done

        遍历完成之后,退出;

        如何生成列表:
        {1..100}
        `seq [起始数 [步进长度]] 结束数`


        1,...,100

        declare -i SUM=0
            integer
            -x

 

 

 

 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西贝爷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值