脚本百例—8:循环与判断中关于真假值的说明
标签搜索

脚本百例—8:循环与判断中关于真假值的说明

mrui
2024-09-26 / 0 评论 / 74 阅读 / 正在检测是否收录...

有如下两例循环条件

while (( COUNT < MAX ))
do
  some stuff
  let COUNT++
done
while [ -z "$LOCKFILE"]
do
  some things
  done

第一个while语句中的双括号界定了算术表达式,双括号内出现的变量名表示取值。(不需要写成$VAR的形式,直接在括号内使用VAR即可。)
第二个while语句中的方括号和if语句中的用法一致,等同于使用test命令。

在bash中,while语法规定该语句的条件是一系列要执行的命令(就像if语句),最后一个命令的退出状态决定了条件是真还是假。退出状态为0,表示真;否则,表示假。
比如(( )),shell会对其中的表达式求值,如果结果不为0,那么(( ))就返回0;如果求值的结果为0,则返回1。
比如下面这个无限循环:
while ((1))
do
...
done
说明:((1))的计算结果为1,那么该表达式返回的值为0。在shell中0为真,因此这个while判断的结果永远为真,即无限循环。

0

评论

博主关闭了当前页面的评论