我正在尝试根据一堆输入条件设置一个变量。这是代码的一小部分示例:

#!/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

最佳答案

您需要在分配-$中删除INSTANCE_SIZE="m1.small"符号。使用美元符号,$INSTANCE_SIZE将替换为其值,并且不会发生赋值-bash而是尝试执行由插值产生的命令。

10-07 19:38
查看更多