をコマンドが見つかりません私は、シェルスクリプトの次の行に問題を抱えている:バッシュ場合や声明、
if [ "$(lsb_release -r -s)" == "16.04" ] || [ "$(lsb_release -r -s)" == "17.04" ]; then
私は、「[:コマンドが見つかりません」を取得するスクリプトを実行するとき。私はなぜなのか理解していない。
+ '[' -f /etc/debian_version ']'
++ lsb_release -r -s
+ '[' 17.04 == 16.04 ']'
++ lsb_release -r -s
+ ' [' 17.04 == 17.04 ']'
./mhn/scripts/install_mongo.sh: line 8: [: command not found
16.04ではなく17.04で実行している場合のみエラーが発生します。私が文を切り替えて17.04を最初にチェックすると、17.04ではなく16.04に壊れます。声明の後半の何かが壊れている。
あなたの質問にOS(Ubuntuの?)と、bashのバージョンを追加します。 – Cyrus
その行を新しいスクリプトにコピー・ペーストしてそのスクリプトを単独で実行すると、同じエラーが表示されますか? –
@thatotherguyそれはちょうどifステートメントであればうまく動作します。しかし、完全なスクリプトでは8行目ですが、bashは「8行目:[:コマンドが見つかりません」 – d1str0