shell脚本编程相关4

Shell test 命令

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值字符文件三个方面的测试。

1)数值测试:

参数说明
-eq 等于则为真
-ne 不等于则为真
-gt 大于则为真
-ge 大于等于则为真
-lt 小于则为真
-le 小于等于则为真

  实例演示:

  num1=100
  num2=100
  if test $[num1] -eq $[num2]
  then
      echo '两个数相等!'
  else
      echo '两个数不相等!'
  fi

  输出结果:

  两个数相等!
2)字符串测试:
参数说明
= 等于则为真
!= 不相等则为真
-z 字符串 字符串的长度为零则为真
-n 字符串 字符串的长度不为零则为真

  实例演示:

  num1="ru1noob"
  num2="runoob"
  if test $num1 = $num2
  then
      echo '两个字符串相等!'
  else
      echo '两个字符串不相等!'
  fi

  输出结果:

  两个字符串不相等!
 3)文件测试
参数说明
-e 文件名 如果文件存在则为真
-r 文件名 如果文件存在且可读则为真
-w 文件名 如果文件存在且可写则为真
-x 文件名 如果文件存在且可执行则为真
-s 文件名 如果文件存在且至少有一个字符则为真
-d 文件名 如果文件存在且为目录则为真
-f 文件名 如果文件存在且为普通文件则为真
-c 文件名 如果文件存在且为字符型特殊文件则为真
-b 文件名 如果文件存在且为块特殊文件则为真

  实例演示:

  cd /bin
  if test -e ./bash
  then
      echo '文件已存在!'
  else
      echo '文件不存在!'
  fi

  输出结果:

  文件已存在!
 

Shell 流程控制

if else

if

if 语句语法格式:

if condition
then
    command1 
    command2
    ...
    commandN 
fi

if else-if else

if else-if else 语法格式:

if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi
 

for 循环

与其他编程语言类似,Shell支持for循环。

for循环一般格式为:

for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done

while 语句

while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为:

while condition
do
    command
done

无限循环

无限循环语法格式:

while :
do
    command
done

或者

while true
do
    command
done

until 循环

until 循环执行一系列命令直至条件为 true 时停止。

until 循环与 while 循环在处理方式上刚好相反。

一般 while 循环优于 until 循环,但在某些时候—也只是极少数情况下,until 循环更加有用。

until 语法格式:

until condition
do
    command
done

case

Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:

case  in
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2
    command1
    command2
    ...
    commandN
    ;;
esac
 

原文地址:https://www.cnblogs.com/mathyk/p/9576968.html