この記事は最終更新日から1年以上が経過しています。
ある環境構築のスクリプトで次のようなコードを発見しました。
mkdir -p /sample/package/{install,update} mkdir -p /sample/log/{app,httpd} mkdir -p /sample/log/app/snapshot mkdir -p /sample/app/${SYSTEM_NAME} |
ディレクトリを作成しているスクリプトです。
ここでは、オプション -p でサブディレクトリごと作成しています。
{install,update} とブレースで複数指定することを初めて知りました。
そこで、次のように書くことも可能です。
mkdir -p /sample/{package/{install,update},log/{app/snapshot,httpd},app/${SYSTEM_NAME},config} |
ただし、可読性は最悪です。
皆さんはどのような書き方が好みですか?
- 可読性は最悪だけどコードを短くする
mkdir -p /sample/{package/{install,update},log/{app/snapshot,httpd},app/${SYSTEM_NAME},config}
- いい塩梅で省略する
mkdir -p /sample/package/{install,update}mkdir -p /sample/log/{app,httpd}mkdir -p /sample/log/app/snapshotmkdir -p /sample/app/${SYSTEM_NAME}
- 1つ1つ指定する
mkdir -p /sample/package/installmkdir -p /sample/package/updatemkdir -p /sample/log/appmkdir -p /sample/log/httpdmkdir -p /sample/log/app/snapshotmkdir -p /sample/app/${SYSTEM_NAME}
社内でアンケートを取ったところ、可読性と保守性の理由により専ら3.を選択した方が多かったです。
この記事を書いた人
-
新卒3年目で脱新人を目指してます。
フロントに興味を持ち始めた今日このごろ。
趣味は 麻雀 プログラミング 音楽。
運動不足を感じているため、ダンスを始めようかと思っています。
最近書いた記事
- 2019.06.26コンテナイメージの縮小
- 2019.05.27Chromeのユーザ切り替えで複数のAWS環境の管理をわかりやすくする
- 2019.04.15ECRのライフサイクルポリシー
- 2019.03.29KongでOAuth2の認証手順