Answers:
Gnome-terminal既可以执行命令,也可以打开外壳,但不能两者都打开。
有一种解决方法,可以通过将命令封装和随后将Shell调用到一个命令中来完成。
$ gnome-terminal -e "bash -c \"echo foo; echo bar; exec bash\""
有关更多替代方法的信息,请阅读我对堆栈溢出的类似问题的回答:https : //stackoverflow.com/questions/3512055/avoid-gnome-terminal-close-after-script-execution/3531426#3531426
如果你已经xdotool
和wmctrl
安装,那么下面的shell脚本可能的工作:
#!/usr/bin/env bash
window="$(xdotool search --class gnome-terminal | head -1)"
xdotool windowfocus $window
xdotool key ctrl+shift+t
xdotool type "$*"
xdotool key Return
我这样使用它:
$ run-in-new-tab 'ls -l'
我在Trustin Lee的博客中找到了这个想法。
sleep 2
100%地使它工作。不过,这是一个很好的解决方案-我现在打开8个选项卡,将这些选项卡切换到各种服务器,启动各种进程等,使用此方法:我的早上设置现已完全编写成脚本:)
wmctrl
不是必需的。
sleep 1
在ctrl + shift + t之后添加一个,以使其对我有用。如果很快什么都没发生,我会接受的