[英]Run terminal script in python?
我正在使用 python 並且我正在嘗試運行位於我正在嘗試的另一個文件夾中的 shell 腳本
subprocess.call(['source','../Apps/appName/run'])
其中“運行”是我編寫並生成可執行文件的 shell 腳本。 但它不斷給出錯誤,例如
沒有這樣的文件或目錄或**沒有這樣的文件或目錄:“源”
我也試過以下
subprocess.call(['source','../Apps/appName/run'])
subprocess.call(['source ../Apps/appName/run'])
subprocess.call(['.','../Apps/appName/run'])
我正在嘗試運行腳本並將其置之不理(因為我不想要任何返回值或查看 shell 腳本的輸出是什么。
先感謝您
source
是一個 shell 內置函數,它讀取文件並解釋當前 shell 實例中的命令。 它類似於 C #include
或 Python import
。 您不應該使用它來運行 shell 腳本。
運行腳本的正確方法是在第一行添加像#!/bin/bash
這樣的shebang,然后添加chmod +x yourscriptfile
。 然后操作系統會將其視為真正的可執行文件,可以在任何上下文中穩健地執行。 在 Python 中,你會這樣做:
subprocess.call(['../Apps/appName/run'])
如果出於任何原因這不是一個選項,您可以改為顯式調用文件的bash
,因為這類似於如果您在 bash 中並鍵入source
會發生的情況:
subprocess.call(['bash', '../Apps/appName/run'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.