如何通过编程的方式打开终端应用程序,比如 Gnome 终端,并运行 cd /some/path; source ./setup.bash
?我正在尝试编写一个脚本,以便自动启动一些常见的终端和 IDE 用于工作。
我尝试了以下代码:
gnome-terminal --tab --working-directory="/some/path" -e 'source ./setup.bash'
但是这会启动一个 Gnome 终端窗口,但是窗口显示错误:
Failed to execute child process "source" (No such file or directory)
大概是因为它没有在bash中执行命令,所以我尝试了以下方法:
gnome-terminal --tab --working-directory="/some/path" -e 'bash -c "source ./setup.bash"'
然而,似乎没有任何作用。它既不启动窗口,也不产生任何stdout或stderr输出。
我能找到的最接近的是:
gnome-terminal --tab --working-directory="/some/path" -e 'bash -c "source ./setup.bash; bash -i"'
这会启动gnome-terminal并正确地加载setup.bash
,但是由setup.bash
设置的一些终端格式没有显示出来,可能是因为我正在启动一个新的bash
shell。
有更好的方法吗?
gnome-terminal --tab --working-directory="/some/path" -x 'bash -i -c "source ./setup.bash"'
,我会得到错误Failed to execute child process "bash -i -c "source ./setup.bash""
。正如我在问题中所暗示的那样,我不希望选项卡结束。 - Cerin