【发布时间】:2013-02-08 10:01:39
【问题描述】:
我正在尝试通过制作一个简单的 bash for 循环来更改所有子目录的权限:
for dir in `find . -type d`; do chmod 755 "$dir"; done
但是,它抱怨不存在的目录。通过简单地打印循环中的目录名称(将chmod 755 "$dir" 替换为echo "$dir"),我发现当目录名称中有空格时会出现问题。发生的情况是for 循环将find 的结果拆分为每个换行和空格。
我想以某种方式使其仅根据换行符拆分结果并忽略空格。双引号应确保字符串到达chmod 作为一个参数。如何更改拆分?
【问题讨论】: