循环
shell和其他语言一样,也有循环语句:for、while、util,其中for、while比较常用。
for循环语句
for循环格式:
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done
实例:
for i in 1 2 3 4 5
#for i in {1..5}
do
echo "i is $i\!"
done
# 输出结果为
i is 1!
i is 2!
i is 3!
i is 4!
i is 5!
其中{1…5}表示1到5,这是shell支持for循环使用略写的计数方式,如果写成{1…5…2}这样,表示输出1到5范围的奇数。
while循环语句
while循环用一个条件来控制是否重复执行命令,也可以用于从输入文件中读取数据。其格式为:
while condition
do
command
done
实例:
echo "请输如一个数字:"
read num
while [[ "$num" -ne 7 ]]
do
if [ "$num" -gt 7 ]
then
echo "您的输入大了,请输入小点!"
read num
elif [ "$num" -lt 7 ]
then
echo "您的输入小了,请输入大点!"
read num
else
exit 0
fi
done
echo "恭喜你答对了!"
util循环语句
util循环语句是条件为假时执行循环,与while循环语句恰好相反。其格式为
until condition
do
command
done
实例:
i=1
until [ $i -gt 5 ]
do
echo $i
i=`expr $i + 1`
done
# 输出结果为
1
2
3
4
5