while 语句
shell中有三种用于循环的语句,即while、for 和until语句。
while语句的一般形式如下:
while测试条件; do命令表; done
或者
while测试条件
do
命令表
done
其执行过程是:先进行条件测试,若结果为真,则进入循环体(do-done之间部分),执行其中命令,再做条件测…直至测试条件为假,才终止while 语句的执行。例如:
while [ $1 ]
do
if [ -f $1 ]
then echo "display : $1“
cat $1
else echo"$1 is not a file name."
fi
shift
done
这段程序对每个给定的位置参数,首先判断其是否为普通文件,若是,则显示其内容,否则显示它不是文件名的信息。每次循环处理一 个位置参数S1,利用shit命令可把后续位置参数左移。
测试条件部分除使用test命令或等价的“0”外,还可以是一组命令。根据其最后一个命令的退出值决定是否进入循环体执行。例如:
echo-e “key in file name-> \c”
read filename
echo "key in data :”
while
read-t5 x
do
echo
$ x>>$ filename
done
cat $filename
语句时,每读入用户输入的一个数据,就把它添加到用户指定的文件执行while直至用户超过s秒未输入为止。最后利用catt命 令将指定文件列出来。( filename) 中,