8.0 for
for有两种应用方法
####注意,此方法与case 有相同之处,但case 后的变量是引用,而无for后是赋值,所以case 后用$var 而for 用var
8.1
8.11 for num in 1 2 3 4 ;do
echo $num
done
8.12如果in 后用*,则为列用当前shell文件所在目录中的所有文件
for file in * ;do
echo $file
done
8.13 如果没有参数,则默认使用命令行参数,注意,这里没in
for file ;do
echo $file
done
8.2 这种和c语言的for没有多大区别 但这里值得注意,(())里面对变量的引用,并不用$
for((num=0 ; num < 10 ;num++));do
echo ((sum+=num)) ##这里输出出错
((sum+=num))
echo sum ##这样子没问题
9.0 while
i =0
while(i<10);do
$i++ ##这里这样子做是不充许的,
((i+))##这里应该这样做
echo $i
done
10.0 until 刚好与 while 相反
i=0
until((i>10));do
((i++))
echo $i
done
输出 0---1.。。11
11 shife 移去命行位,,后而跟参数 shift 2 默认为shift 1 $# 命令行参数的个数,从 $1 开始计算
while(($#>=1));do
echo $0
shife
done
12 跳出循环 exit break; continue 后面可以跟参数, 默认为break 1 contiue 1
1)break [n] 中止循环过程的执行,并且跳到下一个命令。
N表示跳出嵌套的层数
2)continue [n] 停止循环过程的当前一个反复并且跳到循
环中的下一个反复过程的开始部分,n表示忽略的层 当只 一层循环时,n为多个都一样。 至少保持有一层。
3) exit [n] 停止shell程序的执行,并且将返回值设置为n。