我试图找出创建此case
语句。我想要做的是映射我的输入参数$1
,它必须是3个选项之一,然后映射到主机名。我的命令失败了。如何将我的变量赋值为值?做这个的最好方式是什么?如何正确创建用于将别名映射到值的case语句
执行:
./test.sh cluster1
例子:
#!/bin/bash
ENDPOINT="$1"
SCH="$2"
case $ENDPOINT in
"cluster1") $HOST="myhost1.abcde.us-west-1.amazonaws.com";;
"cluster2") $HOST="myhost2.abcde.us-west-1.amazonaws.com";;
"cluster3") $HOST="myhost3.abcde.us-west-1.amazonaws.com";;
esac
psql $HOST -U myuser -d $SCH -p 5439 << EOF
得到的错误:
/test.sh: line 18: =myhost1.abcde.us-west-1.amazonaws.com: command not found
谢谢。你有使用'getopts'的例子吗? – noober
@noober绝对! [This](http://mywiki.wooledge.org/BashFAQ/035)是一个开始的好地方! ':)' –