我奇怪地抓住了这个问题的标题,但我确实想知道在某些情况下是否需要格外小心,并在以chmod
非递归方式(不带-R
参数)更改权限时以某种方式“强制”非递归性。
假设我有一个目录~/x
。这个目录有几个文件,还有一个子目录~/x/y
也有几个文件,我决定让所有x
文件都可以执行,而不影响y
. 我可以执行:
chmod +x ~/x/*
Surlychmod
应该可以完成这项工作,并且在任何 Bash 版本(包括未来版本)中,POSIX 逻辑都不太可能发生更改,并且上述 chmod 也会影响子目录,但我想知道 Bash 中是否存在任何情况(或普通外壳),其中chmod +x ~/x/*
也将覆盖y
文件,以及如何改进我的命令以防止这种不希望的更改?
您可以使用查找和限制仅获取当前目录中的文件