Shell学习笔记——循环

for item in XXXX
do
   XXXXX
done

in XXXX如果省略则是从$@参数中读,也可以用``夹杂别的命令运行结果来用

也可以写for ((i=1; i<=10;i++))这种C风格的循环

while [ XXX ]
do
    XXXXXX
done

while改成until也可,则条件相反,其余相同

continue和break用法同c,但是break可以带数字参数,默认1为当层循环,可以通过2、3等跳出嵌套循环

还有一个很神奇的select循环,用于不停提示菜单选择,直到循环内部break跳出。结合$REPLY获取用户输入,$PS3设置提示信息

select option in XXXX1\
XXXX2\
XXXX3
do
  if [ ! -z "$option" ]; then
    echo "you chose option number $REPLY, which text is $option
  else
    echo "not valid"
  fi
done

 :或者/bin/true代表真,可以用来做死循环while :。注意shell里面,true是0,false是1。

read在能读到内容时返回0,所以也可以while read XXX

原文地址:https://www.cnblogs.com/unionfind/p/2933713.html