流程控制

参考:Shell 流程控制

学习以下流程控制语句

  1. if
  2. for
  3. while
  4. util
  5. case

以及跳出循环命令

  1. break
  2. continue

注意:shell的流程控制不可为空

if

格式如下:

if condition1
then
    command1
    command2
    ...
elif condition2
then
    command1
    command2
    ...
else
    command1
    command2
    ...
fi

for

格式如下:

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

其中in列表可以使用数组,字符串或文件名

$ cat test.sh 
#!/bin/bash

for str in 'This is a string' 'This is a num'
do
    echo $str
done

for var in $@
do
    echo $var
done

执行如下命令

$ bash test.sh a b c d
This is a string
This is a num
a
b
c
d

while

格式如下:

while condition
do
    command
done

while循环可以使用关键字read读取键盘信息

$ cat test.sh 
#!/bin/bash

echo '按下 <CTRL-D> 退出'
echo -n '输入: '

while read VAR
do
    echo "打印:${VAR}"
done

until

格式如下:

until condition
do
    command
done

case

格式如下:

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

break/continue

  • break命令用于跳出所有循环(终止执行后面的所有循环)
  • continue命令用于跳出当前循环