bash

パイプを使うと最後の処理が成功すると戻り値は0になるので、`pipefail` を使ったほうが事故が少なくなるよというお話

コード例 #!/bin/bash -e exit 1 | echo "a" echo "b" 実行結果 a b -e オプションで、行単位で失敗したら終了するはずなのに、 echo "b" が実行されてしまっている...! 解説 pipeを使う場合、一番右側の処理の戻り値で行の成功/失敗が判定される exit 1 | e…

bash にて、とあるドメインが存在するなら、環境変数にそのドメインを格納する、なければデフォルト値という処理を書いたときのメモ

コード API_URL=https://example.com BRANCH_API_URL=https://hoge.com host ${BRANCH_API_URL#https://} && API_URL=${BRANCH_API_URL} || : ポイント ${BRANCH_API_URL#https://} で、環境変数 BRANCH_API_URLの先頭の https:// を取り除いている host は…

curlは-fオプションをつけないとサーバエラーでも戻り値は0になる

サーバエラーが帰ってきても、curlの戻り値は0 $ curl -Is http://ozuma.sakura.ne.jp/httpstatus/500 HTTP/1.1 500 Internal Server Error Server: nginx Date: Tue, 04 Feb 2020 00:51:35 GMT Content-Type: text/html; charset=utf-8 Connection: keep-al…