(command substitutionを介して)結果をシェル変数に格納し、値を単純な0でテストすることができます。あなたが望むすべてがシンプルrm
ある場合、あなたはそれを短縮することができ
#!/bin/bash
code=$(curl -s -o /dev/null -w "%{http_code}" 'https://www.example.com')
if [[ $code == 200 ]]; then
rm /path/to/file
# other actions
fi
:たとえば、bash
で一般的なPOSIXシェルで
#!/bin/bash
[[ $code == 200 ]] && rm /path/to/file
、あなたはあまり柔軟性を使用する必要があります[
コマンドと変数を引用:
#!/bin/sh
code=$(curl -s -o /dev/null -w "%{http_code}" 'https://www.example.com')
if [ "$code" = 200 ]; then
rm /path/to/file
fi
を追加完全なクラスのコード(例: 2xx
)、あなたはワイルドカードを使用することができます。
#!/bin/bash
[[ $code == 2* ]] && rm /path/to/file
とcase
コマンド(例here)。
削除された回答で@randomirが指摘したように、 'curl'は404でも成功するため、手動2xxチェックが必要です(終了コードをチェックするのではなく)。 –