for循环
for…in…
do
…
done
for name
do
case $name in
-f)…
-d)…
esac
done
while循环(当条件为真)
while condition
do
statements…
done
until循环(直到条件为真)
until condition
do
statements…
done
遍历PATH路径
path=$PATH #变量声明
while [ -n $PATH ] #当变量不为空时
do
ls -ld ${path%%:*} #以ls -ld列出path第一个目录
path=${path#*:} #截去第一个目录和冒号
done
跳出循环 break
path=$PATH
while true
do
if [ -z $path ]
then
break
fi
ls -ld ${path%%:*}
path=${path#*:}
done
若循环体超过一层,如此
while condition1
do
while condition2
do
break2
done
done