正如标题所述,我想从(比如说)终端 1 启动一个新终端。新终端将执行一个命令(比如说,启动 JBoss)。启动 JBoss 后,终端 2 中将有 JBoss 登录,所以我不想留在那里,因为我还有其他任务要做。我想将控制权交还给终端 1,这样我就可以执行其他命令。我正在运行脚本。
示例场景:运行一个脚本,我需要:(1)安装 JBoss(2)启动 JBoss(3)在 jboss 中部署代码。
注意:创建新终端不是问题。我可以关注这。问题是返回主终端执行进一步的命令。
答案1
你可以简单地这样做:
gnome-terminal -e jboss_command; exit;
一旦jboss_command
完工,新航站楼就应该关闭。
但是,你几乎肯定不希望这样。没有必要打开新终端。只需在后台运行命令即可:
jboss_command &
如果创建了输出,请像这样运行它:
jboss_command &>/dev/null &
末尾的&
使命令在后台运行,允许您继续使用终端。&>/dev/null
将标准错误和标准输出重定向到/dev/null
,它基本上会丢弃命令打印的所有消息。因此,jboss
像这样运行命令将使您能够在命令运行时继续在同一终端上工作。
答案2
我喜欢使用“screen”来完成这类工作。您可以安装它并按sudo apt-get install screen
如下方式使用它:
- 使用以下命令打开新屏幕(终端)
screen
- 在其中执行你的命令
- 使用“ctrl+a”释放键将其分离(暂时退出),然后仅按“d”
- 也可以选择打开另一个,并在其中执行一些操作,然后将其分离
- 当你想返回时输入
screen -ls
- 然后重新连接你想要的一个
screen -r screen_name
man screen
了解更多!