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 は引数のドメインが無い場合、異常終了するコマンド
  • : は何もしないコマンド
  • これにより、 以下のような処理が実現できる
    • host が正常終了すれば、 API_URL には、BRANCH_API_URL が格納される
    • host が異常終了すればなにもしない(結果として、API_URL はデフォルトの https://example.com のまま

参考

qiita.com