这篇文章上次修改于 1705 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

Shell脚本

控制语句应用

shift命令

  • shift的作用是将参数左移一位

    [root@Hyui-VM ~]# cat shift.sh 
    #!/bin/bash
    for i in $@
    do
    echo $1
    shift
    done

    运行结果

    [root@Hyui-VM ~]# ./shift.sh This is CentOS7
    This
    is
    CentOS7
  • 运行脚本时指定三个参数,分别为This、is、CentOS7。即$1=This,$2=is,$3=CentOS7。for指令开始后会先输出This,然后通过shift命令将参数左移,此时$1=is,$2=CentOS7,以此类推,再一次循环会显示is,第三次循环会显示CentOS7。

    continue、break和exit命令

  • continue和break用于for、until和while循环中。
  • continue用来在循环中中断当前循环的执行,以进入下一次循环体。
  • break用来结束整个循环语句。
  • exit用来结束脚本运行。

    [root@Hyui-VM ~]# cat test.sh 
    #!/bin/bash
    for i in {1..16}
    do
    case $i in 
    4)
          continue
          ;;
    12)
          break
    esac
    echo ${i}
    done
    sleep 3
    exit

    运行结果

    [root@Hyui-VM ~]# ./test.sh 
    1
    2
    3
    5
    6
    7
    8
    9
    10
    11
  • 当循环体中i=4时运行continue,当前for循环continue后的指令不会再运行,所以不会输出4,直接进入下一循环。当循环体中i=12,直接运行break结束循环,所以11之后的数字将不会出现。