将局部变量传递给子进程popen运行' gnome-terminal -e'在python中

时间:2016-05-24 06:33:32

标签: python bash variables subprocess popen

我的python脚本正在调用另一个bash脚本(接收参数)并在新终端中打开它(它可能看起来很奇怪,但我有我的理由)。

我正在尝试将本地python变量传递给popen但我在mybashscript中得到空白参数。 我做错了什么?

代码示例:

var1="aaa"
var2="bbb"
var3="ccc"

subprocess.Popen(["gnome-terminal", "-e", "/home/mybashscript", var1, var2, var3])

我需要var1,var2和var3作为bash脚本参数。

1 个答案:

答案 0 :(得分:1)

var1="aaa"
var2="bbb"
var3="ccc"

subprocess.Popen(["gnome-terminal", "-e", "/home/mybashscript -"+var1+" -"+var2+" -"+var3])

var1="aaa"
var2="bbb"
var3="ccc"

subprocess.Popen(["gnome-terminal", "-e",
                 "/home/mybashscript %s %s %s" % (var1, var2, var3)])