为变量分配新值失败

时间:2013-07-31 20:16:46

标签: shell

为什么这不起作用:

if [ $_TYPE == 1 ] || [ $_TYPE == 2 ]; then
                $_TYPE=$(echo "Outbound");
fi

or

if [ $_TYPE == 1 ] || [ $_TYPE == 2 ]; then
                $_TYPE=echo "Outbound";
fi

or

if [ $_TYPE == 1 ] || [ $_TYPE == 2 ]; then
                $_TYPE="Outbound";
fi

我收到此错误:第251行:2 =出站:未找到命令

2 个答案:

答案 0 :(得分:3)

在诸如Bash之类的POSIX shell中,$不是变量名的一部分,它只是扩展变量的符号(以获取其值);因此,例如,echo "$_TYPE"打印变量_TYPE的值。在分配变量时,不要使用$。所以你只需要:

if [[ "$_TYPE" = 1 || "$_TYPE" = 2 ]] ; then
    _TYPE=Outbound
fi

答案 1 :(得分:1)

$用于访问该值,但如果必须分配值,则语法为:

_TYPE="newValue"