如何打开一个新的终端并从一个已经运行的shell文件运行命令

问题描述:

我对Linux很新,所以如果我用错误的措辞引用某些内容,请告诉我!如何打开一个新的终端并从一个已经运行的shell文件运行命令

我已经创建了下面的shell文件,它完美的作品:

#!/bin/bash 

cd ~/Desktop/folder/ 
cd companion && npm start 

The lines I want to add below:  

Opens New Terminal with the following: 
cd ~/Desktop/folder/ 
cd javaclient && mvn exec:exec 

当我执行这个shell文件,它工作正常,运行我的应用程序,但是,我想添加一些线在那里,将打开新的终端窗口('lxterminal'适用于我)并运行一些可以开始运行其他应用程序的命令。有谁知道我能做到这一点?任何帮助/建议将非常感谢!

P.S.整个想法是在2个独立的终端窗口中运行2个应用程序,只执行1个shell文件。

+1

你是否真的需要一个终端与这两个程序进行交互?除非你这样做,否则请考虑在后台启动一个或两个应用程序,使用&符号(&),可能会重定向输出并在最后添加“等待”。 – NVRAM

+0

是的,我很害怕...我只是设置了alexa示例项目https://github.com/alexa/alexa-avs-sample-app/wiki/Raspberry-Pi,并且我试图自动执行所需的命令启动alexa。 – asleniovas

+0

@asleniovas:你可以尝试使用我的解决方案,并用你打算运行的命令替换脚本,或添加你想在脚本中运行的命令? – Inian

您可以使用内置的编程lxterminal作为,

lxterminal\ 
    --title="MyScriptWindow" \ 
    -e "bash -c ./somescript.sh;bash"\ 

bash手动触发末,以防止关闭终端,命令或脚本完成后。

+1

好,但一般情况下,如果您省略“-c”,它会搜索当前目录,然后是$ PATH。我通常以类似如下结束:* read -p“按ENTER键关闭终端”* – NVRAM

+1

实际上,您可以使用任何终端仿真程序,例如, 'xterm'或'gnome-terminal'或'xfce4-terminal'或'x-terminal-emulator'而不是'lxterminal' –