私はこのcase
文を作成しようとしています。私がやろうとしているのは、入力パラメータ$1
を3つのオプションの1つにマッピングし、ホスト名にマップすることです。私の命令は失敗している。変数を値に割り当てるにはどうすればよいですか?これを行う最善の方法は何ですか?エイリアスを値にマップする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)はスタートするのに最適な場所です! ':)' –