जब आरंभ किया जाता है, तो नीचे दी गई स्क्रिप्ट स्वचालित रूप से किसी निर्देशिका (एक समय) में किसी दिए गए प्रकार (एक्सटेंशन) की सभी फ़ाइलों की अनुमतियों को बदल देती है। उसके बाद, स्क्रिप्ट नई जोड़ी गई फ़ाइलों के लिए निर्देशिका को हर 5 सेकंड में जांचती है , और अनुमतियाँ बदलती हैं यदि फ़ाइल दिए गए प्रकार की है (इस मामले में एक .py
फ़ाइल)
इसके कुछ विकल्प हैं: इस मामले में, यह नई जोड़ी गई फ़ाइलों को निष्पादन योग्य बनाता है, लेकिन अन्य क्रियाएं भी संभव हैं, जैसा कि लाइन में परिभाषित किया गया है command = "chmod +x"
:। इसके अतिरिक्त, आप परिभाषित (परिवर्तन) कर सकते हैं कि किस प्रकार की फ़ाइलों (भाषा एक्सटेंशन) पर कार्रवाई की जानी चाहिए।
कैसे इस्तेमाल करे
नीचे दी गई स्क्रिप्ट को एक खाली फ़ाइल में कॉपी करें। इसे सहेजें change_permission.py
और कमांड द्वारा पृष्ठभूमि में चलाएं:
python3 <script> <folder_to_watch>
लिपी
#!/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)
* नोट: यदि आप sudo विशेषाधिकारों की जरूरत है, बस स्क्रिप्ट के साथ चलाते हैं sudo
vim
याemacs
करना संभव होगा ।