4.3 while语句
格式:while list; do list; done
while 条件表达式; do
命令
done
#!/bin/bash
N=0
while [ $N -lt 5 ]; do
let N++
echo $N
done
# bash test.sh
1
2
3
4
5
当条件表达式为 false 时,终止循环。
#!/bin/bash
while [ 1 -eq 1 ]; do
echo "yes"
done
#!/bin/bash
while true; do
echo "yes"
done
还可以条件表达式用冒号,冒号在 Shell 中的意思是不做任何操作。但状态是 0,因此为 true:
#!/bin/bash
while :; do
echo "yes"
done
示例 3:逐行处理文本
# cat a.txt
a b c
1 2 3
x y z
要想使用 while 循环逐行读取 a.txt 文件,有三种方式:
#!/bin/bash
cat ./a.txt | while read LINE; do
echo $LINE
done
#!/bin/bash
while read LINE; do
echo $LINE
done < ./a.txt
#!/bin/bash
exec < ./a.txt # 读取文件作为标准输出
while read LINE; do
echo $LINE
done
与 while 关联的还有一个 until 语句,它与 while 不同之处在于,是当条件表达式为 false 时才循环,实际使用中比较少,这里不再讲解。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Eternal Night
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果