次のスクリプトをファイルに保存し、alias
ユーザーのファイルにスクリプトを作成してbashrc
ファイルをインポートしますbashrc
。
#!/bin/bash
domain="$1" && test -z "$domain" && exit 2
environment() {
read -sp "Please enter the app DB root password:" dbrootp_1 && echo
read -sp "Please enter the app DB root password again:" dbrootp_2 && echo
if [ "$dbrootp_1" != "$dbrootp_2" ]; then echo "Values unmatched. Please try again." && exit 2 fi
read -sp "Please enter the app DB user password:" dbuserp_1 && echo
read -sp "Please enter the app DB user password again:" dbuserp_2 && echo
if [ "$dbuserp_1" != "$dbuserp_2" ]; then echo "Values unmatched. Please try again." && exit 2 fi
}
environment
実行すると、alias domain
次の結果が表示されます。
+ /user/nwsm/nwsm.sh x
/user/nwsm/nwsm.sh: line 12: syntax error near unexpected token `}'
user/nwsm/nwsm.sh: line 12: `}'
構文エラーが発生するのはなぜですか?構文エラーが見つかりませんでした。あなた?たぶん別の問題があるかもしれません。
Nano(またはVisual Studio Code)にエイリアン文字は表示されません。
ベストアンサー1
(ドアの終わり);
の前に2つのセミコロン()が欠けているようです。fi
if
以下は正しいif-thenステートメントです。
if [ "$dbrootp_1" != "$dbrootp_2" ]; then echo "Values unmatched. Please try again." && exit 2; fi
if [ "$dbrootp_1" != "$dbrootp_2" ]; then echo "Values unmatched. Please try again." && exit 2; fi
fi
各行の終わりに前のセミコロンを確認してください。
stderrのBashエラーが次の場合「6行と10行にはセミコロンが必要です。」、質問や回答を投稿できない場合があります。
JavaScriptでBash if-thenステートメントを書くのは、思ったよりも少し冗長なようです。