我正在尝试安装一个程序,并且在尝试配置它时不断收到此错误消息:
/configure: 919: [: unexpected operator
我查看了代码,这就是配置文件的该部分中的内容:
if [ "$USENETCDFPAR" == "1" ] ; then
echo "Using parallel NetCDF via NETCDFPAR option"
fi
echo " "
在网上看,我知道第一行有问题。但是人们建议的任何更改都没有解决它。有人有想法么?
这里的“意外操作员”真的是
==
在 POSIX shell 中,字符串相等的测试运算符是
=
:然而
==
是作为=
bash shell 中的同义词提供的。从CONDITIONAL EXPRESSIONS
部分man bash
:因此,脚本的开发人员可能在一个系统上工作,该系统
/bin/sh
是一个符号链接,bash
而在 Ubuntu 上,它是一个与 POSIX 兼容dash
shell 的符号链接。您可以在测试括号内替换
==
为,或将脚本的 shebang 行更改为=
[ ... ]
#!/bin/bash