美文网首页shell
14- Shell脚本基础(二) 参数接收、条件判断 等

14- Shell脚本基础(二) 参数接收、条件判断 等

作者: 熙熙爸爸 | 来源:发表于2017-09-11 17:11 被阅读0次

    脚本内接收参数

    $0 为默认参数,表示运行shell的文件名称
    $1 传入的第一个参数
    。。。
    $n

    #!/bin/bash
    echo "Shell 传递参数实例!";
    echo "执行的文件名:$0";
    echo "第一个参数为:$1";
    echo "第二个参数为:$2";
    echo "第三个参数为:$3";
    echo "参数个数为$#"
    echo "所有参数$@"
    echo "所有参数$*"
    echo "进程号$$"
    
    out

    关系运算符

    关系运算符
    #!/bin/bash
    
    a=10
    b=20
    
    if [ $a -eq $b ]
    then
       echo "$a -eq $b : a 等于 b"
    else
       echo "$a -eq $b: a 不等于 b"
    fi
    if [ $a -ne $b ]
    then
       echo "$a -ne $b: a 不等于 b"
    else
       echo "$a -ne $b : a 等于 b"
    fi
    if [ $a -gt $b ]
    then
       echo "$a -gt $b: a 大于 b"
    else
       echo "$a -gt $b: a 不大于 b"
    fi
    if [ $a -lt $b ]
    then
       echo "$a -lt $b: a 小于 b"
    else
       echo "$a -lt $b: a 不小于 b"
    fi
    if [ $a -ge $b ]
    then
       echo "$a -ge $b: a 大于或等于 b"
    else
       echo "$a -ge $b: a 小于 b"
    fi
    if [ $a -le $b ]
    then
       echo "$a -le $b: a 小于或等于 b"
    else
       echo "$a -le $b: a 大于 b"
    fi
    
    

    Boolean运算符

    boolean运算符
    #!/bin/bash
    
    a=10
    b=20
    
    if [ $a != $b ]
    then
       echo "$a != $b : a 不等于 b"
    else
       echo "$a != $b: a 等于 b"
    fi
    if [ $a -lt 100 -a $b -gt 15 ]
    then
       echo "$a 小于 100 且 $b 大于 15 : 返回 true"
    else
       echo "$a 小于 100 且 $b 大于 15 : 返回 false"
    fi
    if [ $a -lt 100 -o $b -gt 100 ]
    then
       echo "$a 小于 100 或 $b 大于 100 : 返回 true"
    else
       echo "$a 小于 100 或 $b 大于 100 : 返回 false"
    fi
    if [ $a -lt 5 -o $b -gt 100 ]
    then
       echo "$a 小于 5 或 $b 大于 100 : 返回 true"
    else
       echo "$a 小于 5 或 $b 大于 100 : 返回 false"
    fi
    
    

    逻辑运算符

    用法和 boolean运算符一样


    逻辑运算符

    字符串运算符

    字符串
    read -p "please input your name: " name
    read -p "please input your nick: " nick
    if [ "$name" = "zhouyang" ];
    then
        echo "Your Grace"
    else
        echo -e "Your name is ${name} your nick is ${nick}"     
    fi
    
    注意的几点:
    1. if和[ ]之间要空格。

    2. [ ]和“ ”之间要空格

    3. “ ”和=之间要空格,

    否则都会报错

    文件运算符

    文件
    #!/bin/bash
    
    file="/var/www/runoob/test.sh"
    if [ -r $file ]
    then
       echo "文件可读"
    else
       echo "文件不可读"
    fi
    if [ -w $file ]
    then
       echo "文件可写"
    else
       echo "文件不可写"
    fi
    
    

    shell运算符详细
    包括但不限于 检查文件属性(是否可读,文件类型等)

    获取键盘输入

    使用read命令,获取键盘输入

    read -p "please input name : " name
    echo $name
    
    

    Shell条件判断

    if test[]

    条件判断

    要注意,shell的判断格式有些特殊

    num1=100
    num2=100
    if test $[num1] -eq $[num2]
    then
        echo '两个数相等!'
    else
        echo '两个数不相等!'
    fi
    

    相关文章

      网友评论

        本文标题:14- Shell脚本基础(二) 参数接收、条件判断 等

        本文链接:https://www.haomeiwen.com/subject/sokfsxtx.html