目次

目次

mkdirの書き方

高橋克幸
高橋克幸
最終更新日2017/10/19 投稿日2017/10/19

ある環境構築のスクリプトで次のようなコードを発見しました。

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}

ただし、可読性は最悪です。 皆さんはどのような書き方が好みですか?

  1. 可読性は最悪だけどコードを短くする
    mkdir -p /sample/{package/{install,update},log/{app/snapshot,httpd},app/${SYSTEM_NAME},config}
    
  2. いい塩梅で省略する
    mkdir -p /sample/package/{install,update}
    mkdir -p /sample/log/{app,httpd}
    mkdir -p /sample/log/app/snapshot
    mkdir -p /sample/app/${SYSTEM_NAME}
    
  3. 1つ1つ指定する
    mkdir -p /sample/package/install
    mkdir -p /sample/package/update
    mkdir -p /sample/log/app
    mkdir -p /sample/log/httpd
    mkdir -p /sample/log/app/snapshot
    mkdir -p /sample/app/${SYSTEM_NAME}
    

社内でアンケートを取ったところ、可読性と保守性の理由により専ら3.を選択した方が多かったです。

高橋克幸

新卒3年目で脱新人を目指してます。
フロントに興味を持ち始めた今日このごろ。
趣味は 麻雀 プログラミング 音楽。
運動不足を感じているため、ダンスを始めようかと思っています。

目次