如何打开一个额外的控制台并使用一个命令在其中运行一个程序?

如何打开一个额外的控制台并使用一个命令在其中运行一个程序?

所以我知道如果我输入 gnome-terminal 或 xterm,就会弹出一个新窗口。然后我查看了这两个的手册页,没有找到相关内容。

然后我注意到在 Mac 下你可以打开程序来做这件事。但在 Linux 下似乎没那么简单。

有人有经验吗?

答案1

更新:新的推荐语法是:

gnome-terminal -- bash -c "<我的命令或脚本>; exec bash"
  • 如果您想通过上述命令进入用户主目录,请使用环境变量$HOMEbash -c "cd $HOME/; ..."

如果你看看man gnome-terminal(和gnome-terminal --help)选项-x-e可用(并且没有明确写出它们已被弃用)但那里的所有示例都由上面提供的语法给出。


我更愿意使用-x比以下选项提供更可靠的工作-e

gnome-terminal -x bash -c "<my command or script>; exec bash"
  • 该选项-x意味着--execute - 终端内的命令行的其余部分。

  • 我们的命令是bash -c "<commands>"。这意味着我们执行一个新的bashshell,它应该运行一些-c "<commands>"

  • 我们有两个分隔符(用分号; == new line<commands>

  • <my command or script>我们想要的第一个命令将执行。

  • 第二个命令exec bash有一个含义 - 保持打开当前gnome-terminal窗口。另一种可能的方法执行此操作。在当前情况下,命令exec用新的进程映像替换当前进程映像- 换句话说,它将“杀死”当前进程并bash在当前 PID 下执行一个新的()。


有关此格式的更多使用示例:

答案2

保持窗口打开的另一种方法是使用 xterm:

xterm -hold -e cmd

保持选项可使窗口保持打开状态。

答案3

gnome-terminal -e cmd将打开一个终端窗口并cmd在其中运行。

答案4

您只需简单执行CTRLALTT即可打开一个新的终端。

尝试gnome-terminal -e "bash -c command;bash"

相关内容