簡體   English   中英

在python中運行終端腳本?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM