在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/sh
usage(){ echo “usage: $0 [-a] [-e
while getopts ae:f:hd:s:qx: optiondo case “{OPTARG};; d) DOMAIN=OPTARG;; s) WHOIS_SERVER=OPTARG;; \?) usage; exit 1;; esacdone
echo “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[root@jfht ~]#
以上就是为各位朋友分享的相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多等着你!