Ubuntu中如何从当前终端打开新终端并在新终端执行命令
解决方案
原写法的问题在于
gnome-terminal与后续echo命令是当前shell中顺序执行的两个独立任务,二者没有传递关系,因此echo指令只会在当前终端T1中运行。
正确配置
修改.bashrc中的别名规则为如下内容:
alias ss='gnome-terminal -- bash -c "echo Starting Server; exec bash"'
参数说明
--是gnome-terminal的参数分隔符,后续内容会被识别为新终端需要执行的指令bash -c "命令串"用于让新启动的终端加载bash进程执行指定的命令内容- 末尾的
exec bash作用是执行完预设命令后保持新终端处于交互状态,如果你不需要执行完命令后保留终端,可以直接去掉这部分
生效方式
修改完成后执行以下命令让配置即时生效:source ~/.bashrc
之后运行ss命令,echo Starting Server就会在新弹出的T2终端中执行。
内容的提问来源于stack exchange,提问作者harinsamaranayake
相关产品推荐
相关产品推荐

