if condition1; then# if语句块,必须出现一次 ... elif condition2; then# elif语句块,可出现0次或多次 ... else# else语句块,只能出现0次或1次 ... fi
示例,判断两个数是否相等:
1 2 3 4 5 6 7 8 9 10 11
a=10 b=20 if [ $a == $b ]; then echo"a 等于 b" elif [ $a -gt $b ]; then echo"a 大于 b" elif [ $a -lt $b ]; then echo"a 小于 b" else echo"没有符合的条件" fi
for语句
for语句一般格式为:
1 2 3
for var in item1 item2 ... itemN; do ... done
可以通过一些技巧快速生成序列:
1 2 3 4 5
for f in $(ls); do ... done# 遍历当前文件夹下所有文件(夹) for i in {1..10}; do ... done# 遍历1~10 for c in {a..f}; do ... done# 遍历a~f for i in $(seq 1 10); do ... done# 遍历1~10 for i in $(seq 1 2 10); do ... done# 遍历1~10,但步长为2
while语句
while语句一般格式为:
1 2 3
while condition; do ... done
示例如下:
1 2 3 4 5
int=1 while [ $int -lt 5 ]; do echo$int let"int++" done