【linux脚本】比较与测试

if条件:

if condition;

then

commands

elif condition;

then

commands

else

commands

fi

ifelse语句可以嵌套。

简化if条件:

[ condition ] && action; #如果condition为真,执行action

[ condition ] || action ; #如果 condition 为假,执行action

算数比较:

[ $var -eq 0] or [ $var -eq 0] #注意 或 与操作数之间有空格键

或者:

[ $var1 -eq 0 -a $var2 -gt 2] #使用逻辑与-a

[ $var1 -eq 0 -o $var2 -gt 2] #使用逻辑或-o

文件系统相关测试:

我们可以使用不同的条件标志测试不同的文件属性;

1.[ -f  $filename ] #如果给定变量包含正常的路径或文件名,就返回真

2.[ -x  $var ] #是否可执行

3.[ -d $var ]  #是否包含目录

4.[ -e $var ] #文件是否存在

5.[ -c $var ] #是否是一个字符设备的路径

6.[-b $var ]#是否是一个块设备的路径

7.[-w $var ] #包含的文件是否可写

8.[-r $var ] #包含的文件是否可读

9.[ -L $var ]#是否是一个链接符号

字符串比较:

字符串比较最好双中括号。

1.[[ $str1 = $str2 ]] #检查是否相等

2.[[ $str1 == $str2 ]] #检查是否相等

3.[[ $str1 != $str2 ]]#检查是否不相等

4.[[ $str1 < $sr2 ]] #检查是否小于

5.[[ $str1 > $str2 ]] # 检查是否大于

6.[[ -z $str1 ]] #检查是否是空字符串

7.[[ -n $str1 ]] #检查是否是非空字符串

注意:1中等号两面必须有空格,否则就是赋值语句了。

另外:
使用 && 和 || 能够将多个条件链接起来

例如:

if [[ -n $str1]] && [[ -z $str2 ]] ;

then 

commands

fi

你可能感兴趣的:(【linux脚本】比较与测试)