Linux的Shell编程Shell程序设计的流程控制Linux认证考试
文章作者 100test 发表时间 2010:01:01 08:50:04
来源 100Test.Com百考试题网
    
	
  和其他高级程序设计语言一样,Shell提供了用来控制程序执行流程的命令,包括条件分支和循环结构,用户可以用这些命令创建非常复杂的程序。
  与传统语言不同的是,Shell用于指定条件值的不是布尔运算式,而是命令和字串。
  1.测试命令
  test命令用于检查某个条件是否成立,它可以进行数值、字符和文件3个方面的测试,其测试符和相应的功能分别如下。
  (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。