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

次のエラーが表示されます: line 251: 2=Outbound: command not found

4

2 に答える 2

3

Bash などの POSIX シェル$では、変数名の一部ではなく、(値を取得するために) 変数を展開するための単なる表記です。たとえば、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 に答える