Ketika dimulai, skrip di bawah ini secara otomatis mengubah izin semua file dari jenis tertentu (ekstensi) dalam direktori (satu kali). Setelah itu, skrip memeriksa direktori setiap 5 detik untuk file yang baru ditambahkan , dan mengubah izin jika file tersebut dari tipe yang diberikan (dalam hal ini .py
file)
Ini memiliki beberapa pilihan: dalam kasus ini, itu membuat file baru ditambahkan executable, tapi tindakan lain yang mungkin juga, sebagaimana didefinisikan dalam baris: command = "chmod +x"
. Selain itu, Anda dapat menentukan (mengubah) pada jenis file apa (ekstensi bahasa) tindakan yang harus dilakukan.
Cara Penggunaan
Salin skrip di bawah ini ke file kosong. Simpan sebagai change_permission.py
dan jalankan di latar belakang dengan perintah:
python3 <script> <folder_to_watch>
Naskah
#!/usr/bin/env python3
import subprocess
import time
import sys
directory = sys.argv[1]
command = "chmod +x"; check_interval = 5; extensions = (".py")
def current_files():
read = subprocess.check_output(["ls", directory]).decode("utf-8").strip()
return [item for item in read.split("\n") if item[item.rfind("."):] in extensions]
initial_files = current_files()
for file in initial_files:
subprocess.call(["/bin/bash", "-c", command+" "+directory+"/"+file])
while True:
update = current_files()
for file in update:
if not file in initial_files:
subprocess.call(["/bin/bash", "-c", command+" "+directory+"/"+file])
initial_files = update
time.sleep(check_interval)
* Catatan: jika Anda memerlukan hak sudo, cukup jalankan skrip dengan sudo
vim
atauemacs
melakukan itu untuk Anda.