2

我正在修复给定的 shell 脚本,我收到以下错误消息

line 322: [: ==: unary operator expected

此错误从该行返回。

 if [ $4 == "managed?.out" ];then

有人可以解释一下是什么导致了这个错误

也有人可以解释使用的目的是什么?在“托管?.out”

提前感谢您的帮助

4

3 回答 3

5

您需要引用$4

if [ "$4" == "managed?.out" ];then
于 2012-05-03T08:56:30.703 回答
1

将 if 语句更改为

if [ "$4" == "managed?.out" ];then

双引号仅在您使用 $4 时是必需的,如果您的变量是 $string,则不需要它们。

应该 ”?” 被解释为 bash 通配符?如果是,您需要使用

if [[ "$4" == managed?.out ]];then
于 2012-05-03T09:06:17.790 回答
0

尝试:

if [[ $4 == "managed?.out" ]];then
于 2012-05-03T09:18:46.460 回答