
さまざまな場所にある他の多くのスクリプトの権限を変更して実行可能にするスクリプトを作成しようとしています。私はすべて検索しましたが、構文を正しく取得できないようです。リストの最初のファイルに対する権限のみが変更されます。私はそれが非常に簡単だと確信しています。私はこれにとても新しいです。ご協力ありがとうございます。
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