我正在尝试打开终端并在其中运行命令.我在用
os.system("gnome-terminal -e 'bash -c \"exec bash; MY_COMMAND; exec bash\" '")
Run Code Online (Sandbox Code Playgroud)
这将打开一个新终端,但不执行该命令.
小智 6
command="python3 --version"
os.system("gnome-terminal -e 'bash -c \""+command+";bash\"'")
Run Code Online (Sandbox Code Playgroud)
应该这样做...
Output:Python 3.6.4
Run Code Online (Sandbox Code Playgroud)
输出进入新终端......
该exec命令用新的命令替换当前正在运行的进程,因此如果要运行的命令列表中有一个exec,则只要运行exec,就不会运行任何其他命令.所以,你要更换'bash -c \"exec bash; MY_COMMAND; exec bash\" '用bash了之后,再没有什么exec bash正在运行.试试这个:
os.system("gnome-terminal -e 'bash -c \"MY_COMMAND\" '")
Run Code Online (Sandbox Code Playgroud)
或者如果你需要一个终端保持开放,试试这个:
os.system("gnome-terminal -e 'bash -c \"MY_COMMAND; sleep 1000000\" '")
Run Code Online (Sandbox Code Playgroud)
如果您希望终端保持打开并处于bash shell中,请尝试以下操作:
os.system("gnome-terminal -e 'bash -c \"MY_COMMAND; bash\" '")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3469 次 |
| 最近记录: |