Bash语句中的循环语句注意事项

  • case
#!/bin/bash

case $1 in
        9)
                echo "nine"
                ;;
        8)
                echo "eight"
                ;;
        7)
                echo "seven"
                ;;
        *)
                echo "others"
                ;;
esac
  1. case后面一定是 'in' 而不是 '=' 或者 '-eq' ;
  2. 每个语句后面的 ';;' 一定要加,因为 ';;' 相当于break子句;
  3. 最后的结尾标志 'esac' 一定不要忘记。
  • while(满足条件循环)
#!/bin/bash

while [ -z $filename ] || [ $filename != 'wbw.txt' ]
do
read -p '输入wbw.txt:' filename
done
touch $filename
  1. while后、 '[' 、 ']' 以及 ‘||’ 前后的空格一定不要忘记;
  2. do、done把要循环执行的语句夹住;
  3. while条件里的变量的 ‘“”’(引号)可加可不加。
  • until(直到满足条件退出循环)
#!/bin/bash

until [ "$filename" = 'bw.txt' ]
do
read -p "输入新建文件名bw.txt:" filename
done
if [ -e $filename ]
then
rm $filename
else
touch $filename
fi
  1. until的空格不要少;
  2. do、done把要循环执行的语句夹住;
  3. until的变量的 ‘“”’(引号)一定不要少(别问我为啥,一个萝卜一个坑,我走过的坑希望你不要走)。
  • for
#!/bin/bash

for file in `ls`
do
less $file
done
  1. for 后也是用 ‘in’;
  2. do、done把要循环执行的语句夹住。
posted @ 2020-03-18 14:16  baowang  阅读(186)  评论(0编辑  收藏  举报