mkdirやrmコマンドで、複数のディレクトリを同時に操作したい。
なぜなら、できるだけ実行するコマンドを少なくしたいから。
ディレクトリを指定する際、中括弧 {} を使用する。
dir1とdir2がカレントディレクトリ内に作成される。
-r により、dir1とdir2がその下の階層含めて全て削除される。
1 | $ mkdir -p {dir1/dir1-1,dir2/dir2-2} |
dir1/dir1-1とdir2/dir2-2がカレントディレクトリ内に作成される。
1 | $ rm -r {dir1/dir1-1,dir2/dir2-2} |
dir1/dir1-1とdir2/dir2-2がその下の階層含めて全て削除される。
dir1とdir2そのものはrmの対象に指定されていないので、そのまま残る。
1 | $ mkdir -p {dir1,dir2}/{dir1,dir2} |
dir1/dir1とdir1/dir2、dir2/dir1とdir2/dir2がカレントディレクトリ内に作成される。
{} が複数ある場合、掛け合わせた全てのパターンが実行される。
1 | $ rm -r {dir1,dir2}/{dir1,dir2} |
dir1/dir1とdir1/dir2、dir2/dir1とdir2/dir2とそれらの下の階層が全て削除される。
1 | $ mkdir -p {dir1,dir2}/ dir /{dir1,dir2} |
dir1/dir/dir1とdir1/dir/dir2、dir2/dir/dir1とdir2/dir/dir2がカレントディレクトリ内に作成される。
1 | $ rm -r {dir1,dir2}/ dir /{dir1,dir2} |
dir1/dir/dir1とdir1/dir/dir2、dir2/dir/dir1とdir2/dir/dir2とそれらの配下が全て削除される。
どこに{} があろうと、掛け合わせた全てのパターンのコマンドが実行される。