我对下面的代码有疑问 收到错误消息:
[: -!eq: binary operator expected]
如何解决此错误
RC=$?
if [ $RC -eq 0 ]; then
echo File: $j Deletion Successfull >> $_Main/Status"_"$_date
else
echo File: $j Deletion Failed >> $_Main/Status"_"$_date
fi
答案 0 :(得分:1)
错误的根源:[:–le:预期的二进制运算符可能是您使用的是Unicode版本的“ –”,而不是常规的“-”。
检查键盘设置/映射,然后尝试使用常规的“-”。
答案 1 :(得分:1)
您的代码运行得很好。但是,如果我这样更改它:
#!/bin/sh
RC=$?
if [ $RC eq 0 ]; then
echo File:
else
echo File:
fi
我遇到了同样的错误:
./test.sh: line 4: [: eq: binary operator expected
File:
这意味着您应该检查是否正在使用-eq而不是其他任何东西。问题很明显取决于您的情况。
在您的情况下,您似乎试图用!
来抵消equals条件。这显然行不通。