通过 Bash 打开外部终端时的源文件

通过 Bash 打开外部终端时的源文件

对于启动脚本,我想在 Ubuntu 系统上打开多个终端窗口,并在每个窗口中执行一些命令。其中一些命令需要加载文件。通常我这样做

$ source path/to/file.sh

然后打电话给我的

$ MY_COMMAND

但是,如果我打开一个新控制台:

konsole -e "source path/to/file.sh; MY_COMMAND"

我收到错误消息“源”不是可执行文件。已经发现“源”实际上是 shell 中内置的东西,但是直接从 bash 打开外部终端时有没有办法实现相同的目的?

非常感谢:)

答案1

您需要将 shell 作为要运行的可执行文件传递konsole

konsole -e bash -c 'source path/to/file.sh; MY_COMMAND'

现在konsole知道要运行什么命令(在本例中bash),并且-c带有命令的选项将bash作为其命令输入传递来运行。

相关内容