Bashスクリプトからカールの終了コードを取得する

Bashスクリプトからカールの終了コードを取得する

simple.shインターネットからスクリプト出力を取得して終了コードを確認したいです。私はOSXを使用しています

#!/bin/bash
$(curl -s http://127.0.0.1:8000/simple.sh)
if [ -z "$?" ]; then
    echo "Good"
    exit 0
else
    echo "Bad"
    exit 1
fi

単純.sh:

#!/bin/bash
exit 0

私が経験している問題は次のとおりです。

./test.sh: line 2: #!/bin/bash: No such file or directory
Bad

ベストアンサー1

[ -z "$?" ]あなたの考えは正確ですが、戻りコード文字列が次のようになるように戻りコードを確認するために誤った条件を定義したようです。または。curlあなたの意志は、出力に関係なく値を渡します。つまり、スクリプトの条件を$?主張しないという意味です。スクリプトから直接返された戻りコードをif確認したい場合があります。curl

$(curl -s http://127.0.0.1:8000/simple.sh)
if [ "$?" -eq 0 ]; then

または、演算子を使用せずに、より簡潔に記述して、条件でtest戻りコードを直接使用できるようにします。if

if curl -s http://127.0.0.1:8000/simple.sh 2>&1 >/dev/null; then

おすすめ記事