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