Shell 壳中的While循环

Shell 壳中的While循环,shell,Shell,我正在尝试在shell中运行while循环 NODESTATE="0" LOOPC="1" while [ "$NODESTATE" -ne "UP" ]; do echo "node is up " 但它向我抛出了一个错误,预期为[:UP:整数表达式 或者我应该使用!=而不是-ne问题在于您的情况: while [ "$NODESTATE" -ne "UP" ]; do -ne选项用于确定一个比较器在数字上是否等于另一个比较器。

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

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

echo "node is up "
但它向我抛出了一个错误,预期为[:UP:整数表达式
或者我应该使用!=而不是-ne

问题在于您的情况:

        while [ "$NODESTATE" -ne "UP" ]; do
-ne
选项用于确定一个比较器在数字上是否等于另一个比较器。但您正在进行字符串比较,而不是数字比较。请尝试以下操作:

        while [ "$NODESTATE" != "UP" ]; do
您可以通过阅读了解
[
的各种选项是如何工作的