Loading

Linux Shell循环

for循环

基本语法

  1. 遍历语法:遍历输出值1,2,3...
for 变量 in 值1,值2,值3...
do
	代码
done
  1. 循环控制语法
for((初始值;循环控制条件;变量变化))
do
	代码
done

注:有两对括号,有 do 和 done,其余和C相同

举例

例1:遍历语法

  • 例子
    testfor1.png
  • 结果
    testfor2.png

例2:循环控制语法

  • 例子
    testfor3.png

  • 结果
    testfor4.png

几点说明

  1. 在for循环控制内部的比较符号可以用">""<""="以及">="<="等
  2. 变量何时要加$左值【在等号左边】不加,右值加
    • Shell脚本语言是弱类型语言,右值不加$会有歧义
    • 如果SUM=$SUM右值不加$,
      • 由于变量SUM类型在定义时没有指定
      • 所以“SUM=SUM”的含义是把字符串“SUM”赋给SUM变量,还是把SUM变量的值重赋给SUM变量?无法确定
      • 因此需要在作为右值的SUM变量前面加上$消除歧义
      • SUM=SUM表示把 字符串"SUM" 赋给SUM变量
      • SUM=$SUM表示把 SUM变量 的值重复给SUM变量
    • 如果SUM=$SUM左值不加\(, 不会产生歧义,就表示SUM变量,所以不需要加`\)`

while 循环

基本语法

while [ 条件判断式 ]
do
	代码
done

注:空格
1. while 和 [ 有空格
2. 条件判断式和[ ]间也有空格

举例

  • 例子
    whiltest.png

  • 结果
    whiletest2.png

  • 注: while 后面跟的是 [ 条件判断式 ],所以要遵循条件判断写法的规则,无法使用">""<""="而使用"-gt""-lt"-eq"

posted @ 2022-01-03 10:54  咪啪魔女  阅读(115)  评论(0编辑  收藏  举报