今天就跟大家聊聊有关Linux shell中while循环是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
在shell中while循环也是一个常用的循环结构,和其他语言的语法有许多类似之处,但是也有个别地方不一样。
常用格式
格式一
while 条件;
do
语句
done
格式二 死循环
while true
do
语句
done
格式三 死循环
while :
do
语句
done
格式四 死循环
while [ 1 ]
do
语句
done
格式五 死循环
while [ 0 ]
do
语句
done
使用示例
示例一
Bash代码
COUNTER=0
while [ $COUNTER -lt 10 ]; do
echo The counter is $COUNTER
let COUNTER=COUNTER+1
done
[root@jfht ~]# COUNTER=0[root@jfht ~]# while [ COUNTER> let COUNTER=COUNTER+1> doneThe counter is 0The counter is 1The counter is 2The counter is 3The counter is 4The counter is 5The counter is 6The counter is 7The counter is 8The counter is 9[root@jfht ~]#
这个while循环改用for循环更好些
Bash代码
for ((COUNTER=0; COUNTER
do
echo The counter is $COUNTER
done
[root@jfht ~]# for ((COUNTER=0; COUNTER> do> echo The counter is $COUNTER> doneThe counter is 0The counter is 1The counter is 2The counter is 3The counter is 4The counter is 5The counter is 6The counter is 7The counter is 8The counter is 9[root@jfht ~]#
示例二
Bash代码
while true
do
date
sleep 1
done
[root@jfht ~]# while true> do> date> sleep 1> done2010年 10月 10日 星期日 16:35:22 CST2010年 10月 10日 星期日 16:35:23 CST2010年 10月 10日 星期日 16:35:24 CST2010年 10月 10日 星期日 16:35:25 CST2010年 10月 10日 星期日 16:35:26 CST2010年 10月 10日 星期日 16:35:27 CSTCtrl+C[root@jfht ~]#
示例三 读取输入
Java代码
while read line
do
echo $line
done
[root@jfht ~]# while read line> do> echo $line> donehellohelloworldworldCtrl+D[root@jfht ~]#
实例四 处理命令行参数
文件 while_4.sh
Bash代码
#!/bin/sh usage() { echo “usage: $0 [-a] [-e ] [-f ] [-h] [-d ] [-s] [-q] [-x]” } 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 echo “ALARM=$ALARM” echo “ADMIN=$ADMIN” [root@jfht ~]# cat while_4.sh#!/bin/shusage(){ echo “usage: $0 [-a] [-e ] [-f ] [-h] [-d ] [-s] [-q] [-x]”}while getopts ae:f:hd:s:qx: optiondo case “{OPTARG};; d) DOMAIN=OPTARG;; s) WHOIS_SERVER=OPTARG;; \?) usage; exit 1;; esacdoneecho “ALARM=ADMIN”[root@jfht ~]# chmod +x while_4.sh[root@jfht ~]# ./while_4.shALARM=ADMIN=[root@jfht ~]# ./while_4.sh -aALARM=TRUEADMIN=[root@jfht ~]# ./while_4.sh -e hyALARM=ADMIN=hy
看完上述内容,你们对Linux shell中while循环是怎样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。