2017-09-13 52 views
1

在bash中我想设置文件权限。在Bash中设置文件属性

我想这一点:

find ./GMDS_SRC/* -name '*.h' -o -name '*.c' -type f -exec chmod 444 {} \; 

但只有最后一个参数(* .c)中被使用。

这是为什么?而且更重要。我该如何解决它?

回答

0
find ./GMDS_SRC/* \(-name '*.h' -o -name '*.c' \) -type f -exec chmod 444 {} \; 

(表达式):真,如果表达式为真。
expression -o expression:初选的交替; OR运算符。如果第一个表达式为真,则不应评估第二个表达式。*

括号前缀为反斜杠()以防止shell通过评估。

+0

完美。如此明显而简单。谢谢! – Kristian

+0

不客气。如果它帮助你可以upvote并接受我的答案。 – tso