2013-07-31 63 views
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 =出站:找不到命令

回答

3

在POSIX外殼,如猛砸, $不是變量名的一部分,它只是擴展變量(獲取其值)的符號;因此,例如,echo "$_TYPE"將打印變量_TYPE的值。分配給變量時,不要使用$。所以,你只需要:

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

$用於訪問的價值,但如果你必須分配一個值,語法是:

_TYPE="newValue"