(chenfeiyao8)Linux的shell编程2
-------------------------------------------------------------------------------- 四、shell程序设计的流程控制 和其他高级程序设计语言一样,shell提供了用来控制程序执行流程的命令,包括条件分支和循环结构,用户可以用这些命令建立非常复杂的程序. 与传统的语言不同的是,shell用于指定条件值的不是布尔表达式而是命令和字符串. 1.test测试命令 test命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试,其测试符和相应的功能分别如下: (1)数值测试: -eq:等于则为真 -ne:不等于则为真 -gt:大于则为真 -ge:大于等于则为真 -lt:小于则为真 -le:小于等于则为真 (2)字符串测试: =:等于则为真 !=:不相等则为真 -z字符串:字符串长度伪则为真 -n字符串:字符串长度不伪则为真 (3)文件测试: -e文件名:如果文件存在则为真 -r文件名:如果文件存在且可读则为真 -w文件名:如果文件存在且可写则为真 -x文件名:如果文件存在且可执行则为真 -s文件名:如果文件存在且至少有一个字符则为真 -d文件名:如果文件存在且为目录则为真 -f文件名:如果文件存在且为普通文件则为真 -c文件名:如果文件存在且为字符型特殊文件则为真 -b文件名:如果文件存在且为块特殊文件则为真 另外,Linux还提供了与(“!”)、或(“-o)、非(“-a”)三个逻辑操作符用于将测试条件连接起来,其优先级为:“!”最高,“-a”次之,“-o”最低. 同时,bash也能完成简单的算术运算,格式如下: $[expression] 例如:var1=2 var2=$[var1*10 1] 则:var2的值为21. 2.if条件语句 shell程序中的条件分支是通过if条件语句来实现的,其一般格式为: if条件命令串 then 条件为真时的命令串 else 条件为假时的命令串 fi 3.for循环 for循环对一个变量的可能的值都执行一个命令序列.赋给变量的几个数值既可以在程序内以数值列表的形式提供,也可以在程序以外以位置参数的形式提供.for循环的一般格式为: for变量名 [in数值列表] do 若干个命令行 done 变量名可以是用户选择的任何字符串,如果变量名是var,则在in之后给出的数值将顺序替换循环命令列表中的$var.如果省略了in,则变量var的取值将是位置参数.对变量的每一个可能的赋值都将执行do和done之间的命令列表. 4.while和until循环 while和until命令都是用命令的返回状态值来控制循环的.While循环的一般格式为: while 若干个命令行1 do 若干个命令行2 done 只要while的“若干个命令行1”中一个命令的返回状态为真,while循环就继续执行do...done之间的“若干个命令行2”. until命令是另一种循环结构,它和while命令相似,其格式如下: until 若干个命令行1 do 若干个命令行2 done until循环和while循环的区别在于:while循环在条件为真时继续执行循环, |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |