Answers:
gnome-terminal -e command
要么
xterm -e command
要么
konsole -e command
差不多
terminal -e command
konsole中有一个--noclose标志。
在xterm中,有一个-hold标志。
在中gnome-terminal,转到编辑 -> 配置文件首选项 -> 标题。单击命令选项卡。从标记为命令退出时的下拉菜单中选择保留终端。您应该为此创建一个新的配置文件并执行
gnome-terminal --window-with-profile = NAMEOFTHEPROFILE -e 命令
gnome-terminal -e command仅在command引用时起作用。因此这行不通:gnome-terminal -e "echo hello world; sleep 3"但这行之有效gnome-terminal -e "bash -c 'echo hello world; sleep 3'"。叹。
; $SHELL到命令末尾来保持gnome-terminal打开。例:gnome-terminal --tab --title="test" --command="bash -c 'cd /etc; ls; $SHELL'"
而不是硬编码的gnome-terminal,konsole,等等,使用替代系统。执行默认终端仿真器的程序是:
x-terminal-emulator
在我的系统上,每当我执行此命令时,它将打开Konsole的新实例。
幸运的是,终端似乎支持-e执行命令的选项(我为konsole和验证了此选项gnome-terminal)。命令后的参数传递给调用的命令。Bash拒绝在我的终端机中保持打开状态,需要另一个脚本才能获得终端机:
#!/bin/sh
"$@"
exec "$SHELL"
如果将以前的脚本另存为/home/user/hacky并使其可执行,则可以使用以下命令运行脚本:
x-terminal-emulator -e /home/user/hacky your-script optional arguments here
完整路径是必需的,/home/user/hacky并且必须是可执行的。
我以前在新的终端窗口中运行脚本的尝试可以在版本2中找到,那是在我意识到可以将参数传递给之前x-terminal-emulator。
bash)或包含诸如的行的shell来“修复”此问题read -p "Press Return to continue"。
cd xxx && start.sh。解释器将&&视为命令的第二部分(这是逻辑上的),但是如果我引用它,则它将尝试将整个内容作为一个大参数执行
很简单-
#!/bin/bash
/etc/init.d/ccpd status
这对于不需要在终端中显示任何内容的其他命令就足够了。但是这里必须看到显示的状态。
因此,它需要在终端窗口中运行
#!/bin/bash
gnome-terminal -e "/etc/init.d/ccpd status" --window-with-profile=NAMEOFTHEPROFILE
在此,“ NAMEOFTHEPROFILE”将替换为“命令退出时保留终端”的配置文件名称。


[]只是占位符
--window-with-profile=NAMEOFTHEPROFILE我提供的内容
在@nickguletskii的回答以及他的回答下我自己的评论的帮助下,并受到@grabantot对我的评论的支持,这是我的首选方式,尤其是当我希望终端保持打开状态以便可以手动使用它时。
例如 用法:将其添加到启动程序中非常有用,因此该脚本将运行,打开终端,在终端中创建并命名标签并为您运行命令。或者,您可以仅将此脚本的符号链接添加到桌面。我使用这种方法,因此我可以双击桌面上的一个图标,然后打开一堆终端(根据我要在其中进行的工作来命名各种标签)和程序来设置我的编程环境,例如日常工作。
这是一个人为的示例,它打开一个选项卡,将其命名为“ test”,然后在其中运行简单的命令cd /etc; ls。最后的$SHELL部分将强制外壳保持打开状态,以便您可以随后查看其输出并继续使用它(我在Stack Overflow的其他地方了解到了这一点):
gnome-terminal --tab --title="test" --command="bash -c 'cd /etc; ls; $SHELL'"
这是一个更复杂的示例,该示例在同一gnome终端中打开3个单独的选项卡。这正是我的桌面快捷方式所做的事情,因此我可以立即打开一堆编程窗口:
gnome-terminal --tab --title="tab 1" --command="bash -c 'cd /etc; ls; $SHELL'" --tab --title="tab 2" --command="bash -c 'cd ~; ls; $SHELL'" --tab --title="tab 3" --command="bash -c 'cd ~/temp3; ls; $SHELL'"
这是上述命令的分解:
gnome-terminal =打开一个gnome终端--tab =打开一个唯一的选项卡以备接下来使用--title="tab 1" =将此标签命名为“标签1”--command="bash -c 'cd /etc; ls; $SHELL'"=运行bash -c 'cd /etc; ls; $SHELL'命令,这只是我作为示例编写的命令;它的作用是:
bash -c 说这是一个bash'c'manmandcd /etc ='c'hange'd'irectory进入“ / etc”路径ls =“ l”不是此目录的内容$SHELL=要使外壳保持打开状态,需要使用此秘密消息,以便您可以使用它。如果要打开外壳,请运行命令,然后关闭,只需删除此部分。但是,我希望选项卡保持打开状态,以便使编程变得神奇。:)--tab部分重新开始以生成选项卡2,然后再次生成选项卡3。根据您的内心需求进行自定义。屏幕截图: