Bash

通過 Bash 打開外部終端時的源文件

  • October 16, 2019

對於啟動腳本,我想在 Ubuntu 系統上打開多個終端視窗並在每個視窗中執行一些命令。其中一些命令需要載入文件。通常我會這樣做

$ source path/to/file.sh

然後打電話給我

$ MY_COMMAND

但是,如果我打開一個新控制台:

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

我收到“源”不是執行檔的錯誤。已經發現“源”實際上是 shell 中內置的東西,但是直接從 bash 打開外部終端時,有沒有辦法實現同樣的效果?

非常感謝:)

您需要將 shell 作為要執行的執行檔傳遞konsole

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

現在konsole知道要執行什麼命令(在這種情況下bash),並且-c帶有命令的選項被傳遞bash給以作為其命令輸入執行。

引用自:https://unix.stackexchange.com/questions/547070