Wgetはページが存在しない場合でも出力ファイルを作成します
質問
404 などのエラーが発生した場合に Wget が出力ファイルを作成しないようにすることができます。
走るとき
wget -O my.html http://sdfsdfdsf.sdfds
http://sdfsdfdsf.sdfds は存在しませんが、Wget は引き続き my.html を作成します
bash スクリプトを作成していますが、wget が有効なファイルを取得できない場合に停止するようにしたいと考えています。
解決
wget は 200 以外の応答に対してはゼロ以外の応答を返します (らしい)。
このサンプル コードは GNU wget で動作しました。
#!/bin/sh
wget -O my.html http://sdfsdfdsf.sdfds
if [ "$?" -ne "0" ]; then
echo "ERROR"
fi
詳細についてはこちら $?
から ここ.
$?実行された最後のコマンドの出口ステータスは、小数文字列として指定されます。コマンドが正常に完了すると、0(ゼロ)の出口ステータスを返し、それ以外の場合はゼロ以外の出口ステータスを返します。
他のヒント
代わりに、curl(1) を使用することもできます。
curl -s -f -o my.html http://sdfsdfdsf.sdfds
所属していません StackOverflow