而在shell中循环

时间:2016-03-07 12:51:21

标签: shell

我正在尝试在shell中运行while循环

 NODESTATE="0"
         LOOPC="1"
            while [ "$NODESTATE" -ne "UP" ]; do

echo "node is up "

但它在[:UP:期望的整数表达式]中给我一个错误 或者我使用!=而不是-ne

1 个答案:

答案 0 :(得分:3)

问题在于你的情况:

        while [ "$NODESTATE" -ne "UP" ]; do

-ne选项用于确定一个比较器在数值上是否与另一个比较器相等。但是你正在进行字符串比较,而不是数字比较。相反,请尝试以下方法:

        while [ "$NODESTATE" != "UP" ]; do

您可以阅读man test,了解[的各种选项如何运作。