shell用法总结7

99 阅读1分钟

引言

  • 该系列为个人经常需要将项目代码工程化,所以需要用到shell脚本,前段时间的每日一题非典活动虽然写了不少,但是因为要满足活动要求,所以很多函数等语法无法介绍完全,该文将介绍一个函数具体详细一些的用法

正文 关于shell中的循环实现(3)

  • 前面已经介绍了for循环的具体用法,本文将进阶上文介绍关于shell中其他循环用法
  • 个人使用python较多,在python中除了for也就是while循环了,但是while循环可能更多时候用于死循环或者是用于有条件判断的循环,若判断条件为真,则进入循环,当条件为假就跳出循环
  • 关于条件判断循环
while 表达式
do
    command
done

-例如: 输出1-100之间不能被3整除的数字

#!/bin/bash
i=1
while [ $i -le 100 ]
do
  if [[ $i%3 -ne 0 ]]
then
  echo "$i"
fi
let i++
done
  • 关于while死循环
  • 可以用于猜数字,猜价格,等等需要满足条件才停止的场景中
#!/bin/bash
PRICE=$(expr $RANDOM % 1000)
a=0
echo "一个鼠标实际价格范围为 0-999,猜猜看是多少?"
while true do read -p "请输入你猜测的价格数目:" n
  let a++
if [ $n -eq $PRICE ] ; then
  echo "恭喜你答对了,实际价格是 $PRICE"
  echo "你总共猜测了 $a 次"
  exit 0
elif [ $n -gt $PRICE ] ; then
  echo "你猜高了!"
else
  echo "你猜低了!"
fi
done
  • 不管是shell还是其他语言,写while的死循环务必要记住写可以满足的终止条件,不然严重点说可能就会出现事故了...
  • 关于跳出循环的方法有:bread,exit,continue,具体使用场景待介绍完最后一个循环方法后再介绍作为该循环章节的一个结尾

结尾

  • 关于while的其他用法和场景个人使用较少,一般代码里写while都是死循环,而又需要慎用,后续遇到新问题再补充。