如何以编程方式打开终端应用程序,如 Gnome 终端,并运行 cd/some/path;来源./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。
有没有更好的办法?
最佳答案
当你使用 -e 选项时,gnome-terminal 将运行该命令而不启动新的 shell(你甚至可以运行类似:gnome-terminal -e gedit),所以如果你想在 bash 中运行命令进入一个新的终端/标签你必须做这样的事情:
gnome-terminal -x bash -c "command"
但请注意,当“命令”结束时,终端/选项卡也将结束。
关于linux - 以编程方式打开 Gnome 终端并运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44293120/