如何将python变量传递到gnome-terminal命令选项中?我想使用特定命令打开多个终端。
这是我想做的代码(示例):
cmd = "echo OK"
os.system("gnome-terminal -e 'bash -c "'cmd' ; exec bash"'")
但它不起作用,因为 shell 试图解释命令"cmd"(bash : cmd: 找不到命令)
你能帮我吗?
谢谢你们
您可以使用 format 将变量替换为字符串:
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