zoukankan      html  css  js  c++  java
  • linux中shell编程(一)

    条件判断,控制结构:

    单分支if语句

    if 判断条件; then  

        statement1  

        statement2  

        ...

    fi

    双分支的if语句:

    if 判断条件; then  

        statement1  

        statement2  

        ...

    else  

        statement3  

        statement4  

        ...

    fi

    多分支的if语句:

    if 判断条件1; then  

        statement1  

        ...

    elif 判断条件2; then

        statement2  

        ...

    elif 判断条件3; then  

        statement3  

        ...

    else  

        statement4  

        ...

    fi

    测试方法:

    • [ expression ]
    • [[ expression ]]
    • test expression

    bash中常用的条件测试有三种:

    整数测试:

    •  -eq: 测试两个整数是否相等;比如 $A -eq $B
    •  -ne: 测试两个整数是否不等;不等,为真;相等,为假;
    •  -gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;
    •  -lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;
    •  -ge: 大于或等于
    •  -le:小于或等于

    例子:
    INT1=63
    INT2=77
    [ $INT1 -eq $INI2 ]
    [[ $INT1 -eq $INT2 ]]
    test $INT1 -eq $INT2 

     文件测试: 

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

      例子:[ -e /etc/inittab ] [ -x /etc/rc.d/rc.sysinit ] 

    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`

     字符测试:
    ==:测试是否相等,相等为真,不等为假
    !=: 测试是否不等,不等为真,等为假
    >
    <
    -n string: 测试指定字符串是否为空,空则真,不空则假
    -z string: 测试指定字符串是否不空,不空为真,空则为假

    定义脚本退出状态码

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

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

    bash -x 脚本:单步执行 

    bash变量的类型:  

    本地变量(局部变量)  

    环境变量  

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

    特殊变量:   

    • $?   
    • $#:参数的个数   
    • $*: 参数列表   
    • $@:参数列表
  • 相关阅读:
    常用录屏工具
    python常用工具库介绍
    修改anaconda3 jupyter notebook 默认路径
    【转载】面试那些事【三】
    【转载】面试那些事【二】
    【转载】面试那些事【一】
    Myeclipse 激活代码 8.6以前的版本
    ddd
    Java 算法
    Java 水仙花数
  • 原文地址:https://www.cnblogs.com/dumanyi/p/6203992.html
Copyright © 2011-2022 走看看