shell中的for、while、until(二)

1.C语言格式的for命令:

for((var; condition;iteration process))

注意:

  1.给变量赋值可以有空格

  2.条件中的变量不以美元符开头;

  3.迭代过程的算式未用expr命令格式

例如:

for (( i = 1; i <= 10; i++))
do
    echo "The next number is $i"
done

for循环使用多个变量

for ((a=1,b=10;a<=10;a++,b--))
do
    echo "$a - $b"
done

while命令

while test command
do
    other commands
done

注意:while 命令的关键是,指定的test命令的退出状态码必须随着循环中运行的命令改变。否则,while循环将会一直不停的循环下去。

var1 = 10

while [ $var1 -gt 0 ]
do 
    echo $var1
    var1=$[ $var1 - 1 ]
done

until命令

until test commands
do
    other commands
done

例如

var1 = 100

until [ $var1 -eq 0 ]
do
    echo $var1
    var1 = $[ $var1 - 25 ]
done

break命令可以退出任意类型的循环,包括while和until。

同理,break命令只能跳出一层循环。

如果要跳出外部循环:

  有时,你在内部循环,但需要停止外部循环。break命令接受单个命令行参数值:

break n
其中n说明了要跳出的循环层级。默认情况下,n为1,表明跳出的是当前的循环。如果你将n设为2,break命令就会停止上一级的外部循环。

处理循环的输出

你可以在done命令之后添加一个处理命令:

for ((a=1;a<10;a++))
do
    echo "The number is $a"
done>test23.txt
echo "The command is finished."

shell创建了文件test23.txt,并将for命令的输出重定向到这个文件。

原文地址:https://www.cnblogs.com/Caden-liu8888/p/6266790.html