Linux 无法在case语句bash中设置变量
我试图根据一系列输入条件设置一个变量。下面是代码的一个小示例:Linux 无法在case语句bash中设置变量,linux,bash,scripting,Linux,Bash,Scripting,我试图根据一系列输入条件设置一个变量。下面是代码的一个小示例: #!/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.sm
#!/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
您需要删除分配中的
$
符号-实例\u SIZE=“m1.small”
。使用美元符号,$INSTANCE\u SIZE
将被其值替换,并且不会发生赋值-bash会尝试执行插值生成的命令