bash脚本中if语句的使用方法
除了"if,else"形式之外,还有其它形式的"if"语句:
if[condition] then action fi
只有当condition为真时,该语句才执行操作,否则不执行操作,并继续执行"fi"之后的任何行。
if[condition] then action elif[condition2] then action2 . . . elif[condition3] then else actionx fi
以上"elif"形式将连续测试每个条件,并执行符合第一个真条件的操作。如果没有条件为真,则将执行"else"操作,如果有一个条件为真,则继续执行整个"if,elif,else"语句之后的行。
接收自变量
在介绍性文章中的样本程序中,我们使用环境变量"$1"来引用第一个命令行自变量。类似地,可以使用"$2"、"$3"等来引用传递给脚本的第二和第三个自变量。这里有一个例子:
#!/usr/bin/envbash echonameofscriptis$0 echofirstargumentis$1 echosecondargumentis$2 echoseventeenthargumentis$17 echonumberofargumentsis$#
除以下两个细节之外,此例无需说明。第一,"$0"将扩展成从命令行调用的脚本名称,"$#"将扩展成传递给脚本的自变量数目。试验以上脚本,通过传递不同类型的命令行自变量来了解其工作原理。
有时需要一次引用所有命令行自变量。针对这种用途,bash实现了变量"$@",它扩展成所有用空格分开的命令行参数。在本文稍后的"for"循环部分中,您将看到使用该变量的例子。