我正在修复给定的shell脚本,我收到以下错误消息
line 322: [: ==: unary operator expected
此行返回此错误。
if [ $4 == "managed?.out" ];then
有人可以解释一下导致此错误的原因
也有人可以解释使用的目的是什么?在“托管?.out”
提前感谢任何帮助
答案 0 :(得分:5)
您需要引用$4
:
if [ "$4" == "managed?.out" ];then
答案 1 :(得分:1)
将if语句更改为
if [ "$4" == "managed?.out" ];then
双引号只在你使用$ 4时是必要的,如果你的变量是$ string,你就不需要它们。
应该“?”被解释为bash-wildcard?如果是的话,你需要使用
if [[ "$4" == managed?.out ]];then
答案 2 :(得分:0)
尝试:
if [[ $4 == "managed?.out" ]];then