shell bash(if then else fi)说明

if [condition]

then

action

fi

特别注意:if和[之间需要空格如果没有空格,shell会报语法错误。

[]与里面表达式需要空格分开,否则会报错。

condition 测试类型对照表

文件比较运算符

-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]

-d file name 如果 file name为目录,则为真 [ -d /tmp/mydir ]

-f file name 如果 file name为常规文件,则为真 [ -f /usr/bin/grep ]

-L file name 如果 file name为符号链接,则为真 [ -L /usr/bin/grep ]

-r file name 如果 file name可读,则为真 [ -r /var/log/syslog ]

-w file name 如果 file name可写,则为真 [ -w /var/mytmp.txt ]

-x file name 如果 file name可执行,则为真 [ -L /usr/bin/grep ]


filename1-nt filename2 如果 filename1比 filename2新,则为真 [ /tmp/install/etc/services -nt /etc/services ]

filename1-ot filename2 如果 filename1比 filename2旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]

字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)

-z string 如果 string长度为零,则为真 [ -z "$myvar" ]

-n string 如果 string长度非零,则为真 [ -n "$myvar" ]

string1= string2 如果 string1与 string2相同,则为真 [ "$myvar" = "one two three" ]

string1!= string2 如果 string1与 string2不同,则为真 [ "$myvar" != "one two three" ]

算术比较运算符

num1-eq num2 等于 [ 3 -eq $mynum ]

num1-ne num2 不等于 [ 3 -ne $mynum ]

num1-lt num2 小于 [ 3 -lt $mynum ]

num1-le num2 小于或等于 [ 3 -le $mynum ]

num1-gt num2 大于 [ 3 -gt $mynum ]

num1-ge num2 大于或等于 [ 3 -ge $mynum ]


    

转载于:https://my.oschina.net/uabao/blog/498897

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值