curlのオプション-fsSLを読み解く
http://fjord.jp/tags/dont-be-afraid-kuroigamen
を参考にターミナルについて勉強しました。
この記事で知ったmanコマンドを使ってHomebrewをインストールしたときにターミナルにコピペしたであろう
$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
のcurlコマンドのオプションである -fsSLを読み解こうと思います。
manコマンドはmanualの略でありコマンド名を引数にとりそのコマンドの詳細を表示してくれるコマンドです。
manコマンドを使ってcurlコマンドの詳細情報を表示します。
ターミナルで
$ man curl
と入力し、
-f、-s、-S、-Lオプションの説明を探します。
curlコマンドによるHTTPリクエストでサーバーエラーによってリクエストが失敗したときに失敗した際に返されるhtmlを出力せず、22というEXIT CODE(curl内のエラーコード?)を返すみたいです。
-sコマンドを付与すると進行の状況もエラーメッセージも表示しない、ただし-Sコマンドと一緒に使用すると進行の状況は表示しないが、エラーメッセージは表示するようになるみたいです。
HTTPリクエストを投げたときに要求しているページが移動していることをサーバーが伝えてきた場合、移動先のページに再びリクエストを投げてくれるみたいです。
つまり-fsSLは
- HTTPリクエストがサーバーのエラーにより失敗した時に22というEXIT CODEを返す。
- 進行の状況を表示せず、エラーメッセージは表示する。
- アクセスしたページが移動していた場合、もう1度移動先にリクエストを送る。
というオプションになります。
その他参考URL
curl option 覚え書き - Qiita