我試圖找出創建此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)是一個開始的好地方! ':)' –