将多个文件更改为可执行文件的脚本

时间:2018-07-09 11:58:10

标签: linux performance shell sh

我正在尝试创建一个脚本,可以在其中更改多个文件的权限。其中一些文件是:.sh,.exe,.bat等。我已经知道我可以使用:

find ~/directory/ -type f -iname "*.sh" -exec chmod +x {} \;

使用这一行,我可以使用.sh更改文件的所有权限。我想知道是否有一种捷径或一种更雄辩的方式来编写代码,使其可以在一行中包含所有其他文件,而不仅仅是多次复制和粘贴行并更改引号中的内容。

1 个答案:

答案 0 :(得分:2)

根据我的理解,您正在尝试更改多种文件类型的权限。为此,请尝试此命令

find ~/directory/ -type f \( -iname \*.sh -o -iname \*.exe -o -iname \*.bat  \) -exec chmod 111 {} \;

find ~/directory/ -type f -regex ".*\.\(sh\|bat\|exe\)" -exec chmod 111 {} \;

或者您可以通过在-o -iname \*.extention_type之间添加()来添加多个类型选项。