メモの日々


2019年02月25日(月) [長年日記]

[shell] パス名展開でドットファイルにもマッチさせる

シェルでパス名展開をするとき、通常はドットファイルが無視される。

$ touch a .a
$ echo *
a

ドットファイルも含んでほしい時はどうするか。

Bashの場合

dotglob というシェルのオプションを有効にするとドットファイルもマッチするようになる。

$ (shopt -s dotglob; echo *)
a .a

Zshの場合

GLOB_DOTSというオプションで同様のことができるが、Glob QualifiersのDを使う方がお手軽。

% (setopt glob_dots; echo *)
a .a
% echo *(D)
a .a