日期:2014-05-16 浏览次数:20796 次
本文链接:http://codingstandards.iteye.com/blog/780524 ?? (转载请注明出处)
?
while循环是Shell中常用的语法结构,它与其他编程语言中的while有些类似,只是写法有些不一样罢了。
while 条件;
do
??? 语句
done
while true
do
??? 语句
done
while :
do
??? 语句
done
while [ 1 ]
do
??? 语句
done
while [ 0 ]
do
??? 语句
done
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 -lt 10 ]; do
>???? echo The counter is $COUNTER
>???? let COUNTER=COUNTER+1
> done
The counter is 0
The counter is 1
The counter is 2
The counter is 3
The counter is 4
The counter is 5
The counter is 6
The counter is 7
The counter is 8
The counter is 9
[root@jfht ~]#
?
这个while循环改用for循环更好些
for ((COUNTER=0; COUNTER<10; ++COUNTER)) do echo The counter is $COUNTER done
?
[root@jfht ~]# for ((COUNTER=0; COUNTER<10; ++COUNTER))
> do
>???? echo The counter is $COUNTER
> done
The counter is 0
The counter is 1
The counter is 2
The counter is 3
The counter is 4
The counter is 5
The counter is 6
The counter is 7
The counter is 8
The counter is 9
[root@jfht ~]#
while true do date sleep 1 done
?
[root@jfht ~]# while true
> do
>???? date
>???? sleep 1
> done
2010年 10月 10日 星期日 16:35:22 CST
2010年 10月 10日 星期日 16:35:23 CST
2010年 10月 10日 星期日 16:35:24 CST
2010年 10月 10日 星期日 16:35:25 CST
2010年 10月 10日 星期日 16:35:26 CST
2010年 10月 10日 星期日 16:35:27 CST
Ctrl+C
[root@jfht ~]#
?
while read line do echo $line done
?
[root@jfht ~]# while read line
> do
>???? echo $line
> done
hello
hello
world
worldCtrl+D
[root@jfht ~]#
?
文件 while_4.sh
#!/bin/sh usage() { echo "usage: $0 [-a] [-e <admin>] [-f <serverfile>] [-h] [-d <domain>] [-s <whois_server>] [-q] [-x <warndays>]" } 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" ech