对于以下目录结构:
└── bar
├── first
│ └── tmp
└── second
└── tmp
我要删除所有tmp
目录。但是,
rm -rf 'bar/*/tmp/'
不删除目录
ls bar/*/
仍然重播两个tmp
目录:
bar/first/:
tmp
bar/second/:
tmp
您的问题是单引号
rm -rf 'bar/*/tmp/'
如果删除它们,您会没事的。
rm -rf bar/*/tmp
原因是(大多数(如果不是全部)外壳程序语言中的单引号表示所包含的字符串完全被视为字符串,而忽略了您要执行的遍历。