[Linux] Bashでwgetの戻り値をチェックする

  • このエントリーをはてなブックマークに追加
  • LINEで送る

小ネタです。
シェルスクリプトを書いている際にwgetで正常にファイルをダウンロードできた場合のみ処理を継続したい場合には次のようなコードを書きます。

#!/bin/bash

wget 'https://example.com/foo.zip'

if [ $? -ne 0 ]; then
  echo "[ERROR] 正常にダウンロードできませんでした"
  exit 1
fi
  • $?は直前のコマンドの実行結果が自動的に入ります。
  • 比較演算子の-nenot equalの略で、値が等しくない場合に使用します。
- Sponsored Link -

ステータスコード一覧

Linuxのコマンドは大抵そうなのですが、0は成功、0以外が何らかのエラーとなります。wgetもこのルールに従っています。

説明
0No problems occurred.
1Generic error code.
2Parse error—for instance, when parsing command-line options, the ‘.wgetrc’ or ‘.netrc’…
3File I/O error.
4Network failure.
5SSL verification failure.
6Username/password authentication failure.
7Protocol errors.
8Server issued an error response.

詳細は公式ドキュメントを参照ください。

参考ページ

- Sponsored Link -

ご質問やリクエストなどお気軽に。メールアドレスの入力は任意です。書き込みが反映されるまで時間がかかります。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください