1.for循环语句 实例1.1 最基本的for循环 #!/bin/bash for x in one two three four do echo number $x done
注:"for" 循环总是接收 "in" 语句之后的某种类型的字列表。在本例中,指定了四个英语单词,但是字列表也可以引用磁盘上的文件,甚至文件通配符。 实例1.2 #!/bin/bash for x in /var/log/* do #echo "$x is a file living in /var/log" echo $(basename $x) is a file living in /var/log done
注:这个$x获得的是绝对路径文件名;可以使用 "basename" 可执行程序来除去前面的路径信息。如果只引用当前工作目录中的文件(例如,如果输入 "for x in *"),则产生的文件列表将没有路径信息的前缀。 实例1.3 对位置参数做for循环 #!/bin/bash for thing in "$@" do echo you typed ${thing}. done 实例1.4 for循环中用seq产生循环次数 #!/bin/bash for j in $(seq 1 5) do echo $j done 注:对于固定次数的循环,可以通过seq命令来实现,就不需要变量的自增了2.while循环语句 实例2.1 循环输出1到10的数字 #!/bin/bash myvar=1 while [ $myvar -le 10 ] do echo $myvar myvar=$(( $myvar + 1 )) done