ディレクトリの一括作成とブレース展開に関する豆知識

RuboCop で直した「おっ」と思ったバグ。シェルのブレース展開 {...} を使って複数ディレクトリを一括で作成する手法がある。業務で連番でのディレクトリ作成とか必要だったりするときに使えたりする。

% mkdir {a,z}
% ls 
a z

% mkdir {a..c}
% ls 
a b c 

% mkdir {1..10}
% ls 
1 10 2 3 4 5 6 7 8 9

% mkdir {01..10}
% ls
01 02 03 04 05 06 07 08 09 10

ではディレクトリ名の指定なしで {} とするとどうなるか?

% mkdir {}

{} という名前のディレクトリができる (なるほど?) 。

% ls
{}

で、この {} という名前のディレクトリについて RuboCop が処理をしようとしたら、エラーになったという問題が報告されたので直しておいた。

% rubocop
(snip)

File name too long - /tmp////////////////////////////////////////////// (続く)

github.com

Windows でも禁則文字に入っていなさそうなので、同様かもしれない (持っていないのでよくわからない) 。 docs.microsoft.com