2011-07-13 8 views
3

入力条件の束に基づいて変数を設定しようとしています。ここでは、コードの小さなサンプルです:case文bashで変数を設定できません

#!/bin/bash 
INSTANCE_SIZE="" 
case "$1" in 
    "micro") 
    $INSTANCE_SIZE="t1.micro" 
    ;; 
    "small") 
    $INSTANCE_SIZE="m1.small" 

    ;; 
esac 
echo $INSTANCE_SIZE 

私は-exスイッチでスクリプトを実行し、適切な引数を指定した場合:

+ case "$1" in 
+ =m1.small 
./provision: line 19: =m1.small: command not found 

答えて

6

をあなたが割り当てに$記号を削除する必要があります - INSTANCE_SIZE="m1.small" 。ドル記号の場合、$INSTANCE_SIZEはその値に置き換えられ、代入は行われません.bashでは補間の結果であるコマンドを実行しようとします。

+0

ありがとうございます!私は余分な目を必要とし、それは私のために大きな脳のおならでした! –

関連する問題