Bash

更改 bash 中多個文件的權限

  • February 26, 2020

我正在嘗試編寫一個腳本來更改多個位置的許多其他腳本的權限,使其可執行。我已經搜尋過所有內容,但似乎無法獲得正確的語法。它只是更改列表中第一個文件的權限。我敢肯定這很簡單。我對此很陌生。感謝您的幫助。

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

chmod +x $files

正如您所注意到的,您的files變數是一個數組並$files擴展到第一個元素。要chmod對數組的所有元素執行,請使用

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

您定義了一個數組,因此您可以遍歷它:

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

引用自:https://unix.stackexchange.com/questions/569833