Bash shell脚本While循环
时间:2019-11-20 08:53:04 来源:igfitidea点击:
在Linux shell脚本中,如何写while循环语句?
bash shell中while 循环的语法是什么?
如何使用shell while语句设置无限循环?
bash shell while循环示例
bash shell while循环是一个控制流语句,它允许根据给定条件重复执行代码或命令。
bash while循环语法
shell脚本中while的语法如下:
while [ condition ] do command1 command2 command3 done
如果condition是真,则重复执行command1到command3。
while循环的参数condition可以是任何布尔表达式。
还可以把他们写在一行中:
while [ condition ]; do commands; done while control-command; do COMMANDS; done
shell while循环示例-在屏幕上显示5次欢迎信息
#!/bin/bash x=1 while [ $x -le 5 ] do echo "Welcome $x times" x=$(( $x + 1 )) done
将上面的代码写在一行中:
x=1; while [ $x -le 5 ]; do echo "Welcome $x times" $(( x++ )); done
shell while循环示例-逐行读取文本文件的数据
#!/bin/bash FILE= # 通过文件描述符来读取 $FILE exec 3<&0 exec 0<$FILE while read line do # use $line variable to process line echo $line done exec 0<&3
shell while循环示例-判断在命令行中为脚本传递的选项
...... .. while getopts ae:f:hd:s:qx: option do case "${option}" in a) ALARM="TRUE";; e) ADMIN=${OPTARG};; d) DOMAIN=${OPTARG};; f) SERVERFILE=$OPTARG;; s) WHOIS_SERVER=$OPTARG;; q) QUIET="TRUE";; x) WARNDAYS=$OPTARG;; \?) usage exit 1;; esac done ....... ..
bash shell while死循环
如果未指定条件,则while循环将是一个死循环:
#!/bin/bash while : do echo "infinite loops [ hit CTRL+C to stop]" done
while循环中的break语句
break语句用于提前退出while循环
while [ condition ] do statements1 statements2 if (condition) then break #提前退出循环 fi statements3 done
示例:当用户输入-1时,break语句将跳过while循环:
#!/bin/bash while : do read -p "Enter two numnbers ( - 1 to quit ) : " a b if [ $a -eq -1 ] then break fi ans=$(( a + b )) echo $ans done
while循环中的continue语句
continue语句用于结束当前迭代,重新开始新一轮迭代:
while [ condition ] do statements1 statements2 if (condition) then continue #不执行statements3,重新开始新一轮迭代。 fi statements3 done