这适用于 xterm(请参阅https://unix.stackexchange.com/a/739977/119816)
xterm -e "echo hello; bash"
但不与gnome-terminal
.执行此操作的等效方法是什么gnome-terminal
?
gnome-terminal -- "echo hello; bash"
我尝试过各种引用方式,但没有成功。一些尝试是:
gnome-terminal -- "bash -c \"echo hello; bash\""
#
gnome-terminal -- /usr/bin/bash /tmp/echo-hi
/tmp/echo-hi
回显 hi 的 shell 脚本在哪里?
以及其他几种变体。
答案1
bash -c
不应出现在报价单中。
请尝试以下操作:
gnome-terminal -- bash -c "echo hello; bash"
我正在使用这个例如:
gnome-terminal --window --title "neovim" -- sh -c "nvim"
这只是在一个标题为“neovim”的新 gnome 终端窗口中执行nvim
二进制文件。sh
就我而言,sh
这只是二进制文件的链接bash
。所以你基本上可以在这里使用任何你想要的 shell 二进制文件。
答案2
这有效:
gnome-terminal -- bash -c "echo hello; exec bash"
关键点是:
GNOME 使用
--
双破折号将 GNOME 终端参数与要运行的命令分隔开。要运行多个命令,您需要运行
bash -c
.通过传递echo hello; exec bash
原因你好输出,然后将原始 bash 替换为新的 bash,该新的 bash 将成为您的交互式终端。