我正在尝试创建一个脚本,可以在其中更改多个文件的权限。其中一些文件是:.sh,.exe,.bat等。我已经知道我可以使用:
find ~/directory/ -type f -iname "*.sh" -exec chmod +x {} \;
使用这一行,我可以使用.sh更改文件的所有权限。我想知道是否有一种捷径或一种更雄辩的方式来编写代码,使其可以在一行中包含所有其他文件,而不仅仅是多次复制和粘贴行并更改引号中的内容。
答案 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
之间添加()
来添加多个类型选项。