Bash条件返回bash:=:命令未找到错误

时间:2017-06-27 20:39:59

标签: bash shell

if [[ "$PROXY_URL"==https* ]]; then
    echo "Woohoo"
else
    echo "Woohoo"
fi

运行$PROXY_URL = "https://yolo" ; ./proxyEnv.sh会输出:

bash: =: command not found
Woohoo

“bash:=:command not found”是指什么?

1 个答案:

答案 0 :(得分:2)

您的字符串比较should have spaces around the comparator

if [[ "$PROXY_URL" == https* ]]; then
    echo "Woohoo https"
else
    echo "Woohoo no https"
fi

另外,这不是你如何将环境变量传递给bash脚本。您有两种选择:

PROXY_URL="https://yolo" ./proxyEnv.sh

export PROXY_URL="https://yolo"; ./proxyEnv.sh

第一个选项将(没有 $)值分配给符号,然后将该环境用于脚本(没有;将它们分开)。它仅适用于脚本。

第二个选项将该符号导出到脚本继承的当前环境。