微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 无法在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

解决方法:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐