如何將python變量傳遞到gnome-terminal命令選項?我想用特定的命令打開多個終端。將python變量傳遞到os.system(gnome-terminal)命令
這裏是我想要做的代碼(例如):
cmd = "echo OK"
os.system("gnome-terminal -e 'bash -c \"'cmd' ; exec bash\"'")
但它不工作,因爲shell試圖解釋命令「cmd」(慶典:CMD:命令未找到)
你能幫助我嗎?
謝謝你們
如何將python變量傳遞到gnome-terminal命令選項?我想用特定的命令打開多個終端。將python變量傳遞到os.system(gnome-terminal)命令
這裏是我想要做的代碼(例如):
cmd = "echo OK"
os.system("gnome-terminal -e 'bash -c \"'cmd' ; exec bash\"'")
但它不工作,因爲shell試圖解釋命令「cmd」(慶典:CMD:命令未找到)
你能幫助我嗎?
謝謝你們
你可以使用格式來取代你的變量到字符串:
cmd = "echo OK"
os.system("gnome-terminal -e 'bash -c \"'{}' ; exec bash\"'".format(cmd))
我想你傳遞字符串「CMD」不是變量cmd = "echo OK"
。試試這個。
cmd = "echo OK"
os.system("gnome-terminal -e 'bash -c " + cmd + " ; exec bash'")
編輯>
也許模塊subprocess
可以幫助你。試試這個片段。
import subprocess
cmd_line = "echo Hello!"
p = subprocess.Popen(cmd_line, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
out = p.communicate()[0]
print out
我已經做了修改: '使用os.system( 「侏儒末端-e '的bash -c \'{} '; EXEC的bash \'」 格式(CMD)。)' 因爲你的命令返回一個錯誤。什麼都沒發生。我不知道爲什麼。 – Paktros