যদি sleep.sh
শেবাং থাকে #!/bin/sh
এবং এতে যথাযথ ফাইলের অনুমতি থাকে - chmod u+rx sleep.sh
তা নিশ্চিত করতে চালান এবং এটি এতে রয়েছে $PATH
তবে আপনার কোডটি যেমন হয় তেমন কাজ করা উচিত:
import subprocess
rc = subprocess.call("sleep.sh")
স্ক্রিপ্টটি যদি PATH তে না থাকে তবে তার সম্পূর্ণ পথটি নির্দিষ্ট করুন যেমন, এটি যদি বর্তমান ওয়ার্কিং ডিরেক্টরিতে থাকে:
from subprocess import call
rc = call("./sleep.sh")
যদি স্ক্রিপ্টটির কোনও শেবাং না থাকে তবে আপনাকে উল্লেখ করতে হবে shell=True
:
rc = call("./sleep.sh", shell=True)
যদি স্ক্রিপ্টটির কোনও এক্সিকিউটেবল অনুমতি থাকে না এবং আপনি এটি পরিবর্তন করতে না পারেন যেমন, দৌড়াতে os.chmod('sleep.sh', 0o755)
আপনি স্ক্রিপ্টটি একটি পাঠ্য ফাইল হিসাবে পড়তে পারেন এবং স্ট্রিংটির subprocess
পরিবর্তে মডিউলটিতে পাঠাতে পারেন :
with open('sleep.sh', 'rb') as file:
script = file.read()
rc = call(script, shell=True)