1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #!/bin/bash a=3 b=5 val=`expr $a + $b` echo "a+b=$val" val=`expr $a - $b` echo "a-b=$val" val=`expr $a \* $b` echo "a*b=$val" val=`expr $a / $b` echo "a/b=$val" >>> a+b=8 a-b=-2 a*b=15 a/b=0 |
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash a=3 b=5 val=`expr $a % $b` echo "a%b=$val" >>> a%b=3 |
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/bash a=5 b=5 if [ $a == $b ]; then echo "$a is equal to $b" fi >>> 5 is equal to 5 |
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/bash a=3 b=5 if [ $a != $b ]; then echo "$a is not equal to $b" fi >>> 3 is not equal to 5 |
两数相等返回true
$ if [ 10 -eq 10 ]; then echo "yes" ; fi yes
INT1=63 INT2=77 1. [ expression ] 一定要有空格 [ $INT1 -eq $INT2 ] 2. [ [ expression ] ] [ [ $INT1 -eq $INT2 ] ] 3. test expression test $INT1 -eq $INT2条件测试的表达式
两数不等返回true
if [ $UID -ne 0 ] ; then echo Not root user, Please run as root. else echo Root user. fi
左侧大于右侧返回true
左侧小雨右侧返回true
左侧大于等于右侧返回true
左侧小于等于右侧返回true
两个字符串相等返回true
两个字符串不相等返回true
字符串长度为0返回true, 测试指定字符串是否不空
[ -z `hostname` ] || [ `hostname` == ‘local’ -o `hostname` == ‘(none)’ ] && hostname $HOSTNAME
字符串长度不为0返回true
filename or file path 测试文件是否存在,包括目录
1 2 3 4 5 | #!/bin/bash if [ ! -e $FILE ] ; then echo “No $FILE file.” exit 8 /只要不是0就可以 fi |
[ -e /etc/inittab ]
filename or file path 测试是否为普通文件
file existence along with file size greater than 0
filename or file path 测试指定路径是否/为目录
测试指定文件对当前用户而言,是否可读
测试指定文件对当前用户而言,是否可写
测试指定文件对当前用户而言,是否可执行
[ -x /etc/rc.d/rc.sysint ]
if [ $# -gt 1 -a $# -le 3 ] if [ $# -gt 1 ] && [ $# -le 3 ]