更改 bash 中多个文件的权限

更改 bash 中多个文件的权限

我正在尝试编写一个脚本来更改多个位置的许多其他脚本的权限,使其可执行。我已经搜索遍了,似乎无法得到正确的语法。它仅更改列表中第一个文件的权限。我确信这非常简单。我对此很陌生。感谢您的帮助。

files=(/file/location/one/script1.sh /file/location/two/script2.sh /file/location/three/scriipt3.sh)

chmod +x $files

答案1

正如您所注意到的,您的files变量是一个数组并$files扩展到第一个元素。要chmod对数组的所有元素执行,请使用

chmod +x "${files[@]}"

答案2

您定义了一个数组,因此可以循环遍历它:

for file in "${files[@]}"; do
  chmod +x "$file"
done

相关内容