Linux Shell循环
for循环
基本语法
- 遍历语法:遍历输出值1,2,3...
for 变量 in 值1,值2,值3...
do
代码
done
- 循环控制语法
for((初始值;循环控制条件;变量变化))
do
代码
done
注:有两对括号,有 do 和 done,其余和C相同
举例
例1:遍历语法
- 例子
- 结果
例2:循环控制语法
-
例子
-
结果
几点说明
- 在for循环控制内部的比较符号可以用">""<""="以及">="<="等
- 变量何时要加
$
:左值【在等号左边】不加,右值加- Shell脚本语言是弱类型语言,右值不加
$
会有歧义 - 如果
SUM=$SUM
右值不加$,- 由于变量SUM类型在定义时没有指定
- 所以“SUM=SUM”的含义是把字符串“SUM”赋给SUM变量,还是把SUM变量的值重赋给SUM变量?无法确定
- 因此需要在作为右值的SUM变量前面加上
$
消除歧义 SUM=SUM
表示把 字符串"SUM" 赋给SUM变量SUM=$SUM
表示把 SUM变量 的值重复给SUM变量
- 如果
SUM=$SUM
左值不加\(, 不会产生歧义,就表示SUM变量,所以不需要加`\)`
- Shell脚本语言是弱类型语言,右值不加
while 循环
基本语法
while [ 条件判断式 ]
do
代码
done
注:空格
1. while 和 [ 有空格
2. 条件判断式和[ ]间也有空格
举例
-
例子
-
结果
-
注: while 后面跟的是 [ 条件判断式 ],所以要遵循条件判断写法的规则,无法使用">""<""="而使用"-gt""-lt"-eq"