Eğer sleep.shshebang sahiptir #!/bin/shve uygun dosya izinlerine sahip - çalıştırmak chmod u+rx sleep.shemin olmak için ve içinde bulunduğu $PATHolarak çalışması gerekir .kodunuz o zaman:
import subprocess
rc = subprocess.call("sleep.sh")
Komut dosyası PATH içinde değilse, tam yolunu belirtin, örneğin, mevcut çalışma dizininde ise:
from subprocess import call
rc = call("./sleep.sh")
Komut dosyasında hiç shebang yoksa şunu belirtmeniz gerekir shell=True:
rc = call("./sleep.sh", shell=True)
Komut dosyasının çalıştırılabilir izni yoksa ve örneğin çalıştırarak değiştiremiyorsanız os.chmod('sleep.sh', 0o755), komut dosyasını bir metin dosyası olarak okuyabilir ve subprocessbunun yerine dizeyi modüle iletebilirsiniz :
with open('sleep.sh', 'rb') as file:
script = file.read()
rc = call(script, shell=True)