if语句

来源:互联网 发布:excel拆分单元格数据 编辑:程序博客网 时间:2024/05/16 11:47
if [] ; then 在条件判断中,一些常用的测试条件[@more@]

if语句的格式
if …; then

elif …; then

else

fi

Shell Script中if语句的条件部分要以分号来分隔。[]表示条件测试,常用的条件测试有下面几种: 
[ -f "$file" ] 判断$file是否是一个文件
[ $a -lt 3 ] 判断$a的值是否小于3,同样-gt和-le分别表示大于或小于等于
[ -x "$file" ] 判断$file是否存在且有可执行权限,同样-r测试文件可读性
[ -n "$a" ] 判断变量$a是否有值,测试空串用-z
[ "$a" = "$b" ] 判断$a和$b的取值是否相等
[ cond1 -a cond2 ] 判断cond1和cond2是否同时成立,-o表示cond1和cond2有一成立
[ -r ] 选项检查文件是否可读
! 表示取反

要注意条件测试部分中的空格。在方括号的两侧都有空格,在-f、-lt、=等符号两侧同样也有空格。如果没有这些空格,Shell解释脚本的时候就会出错。 

$#表示包括$0在内的命令行参数的个数。
在Shell中,脚本名称本身是$0,剩下的依次是$1、$2…、${10}、${11},等等。
$*表示整个参数列表,不包括$0,也就是说不包括文件名的参数列表。 

原创粉丝点击