0

为什么这不起作用:

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=Outbound:找不到命令

4

2 回答 2

3

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

if [[ "$_TYPE" = 1 || "$_TYPE" = 2 ]] ; then
    _TYPE=Outbound
fi
于 2013-07-31T20:18:25.537 回答
1

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

_TYPE="newValue"
于 2013-07-31T20:19:47.497 回答