打開新終端並在此新終端上執行給定命令集的命令結構是什麼?

打開新終端並在此新終端上執行給定命令集的命令結構是什麼?

我使用的是 Linux Mint 19.03

首先,我可以向您保證,我已經閱讀了您可能認為我的這個問題重複的大部分可能的問題。

現在,我基本上想在終端機視窗中輸入一些內容來開啟一個新的終端機視窗並執行命令。

像這樣的東西:

[the part I am asking of] "echo $PATH; read"

此程式碼應該會開啟一個新終端,應該會顯示 $PATH 變量,並且讀取只是為了停止終端。

我嘗試過 x-terminal-emulator -e或 x-terminal-emulator -c 或 -x 但我永遠無法正確地做到這一點。此 SE 上類似問題的所有答案都是舊答案,並且使用 -e 或 -x,但它表示這些選項已棄用。

那麼,實現這一目標最正確的方法是什麼?

謝謝。

答案1

x-terminal-emulator本身不會啟動 shell。這僅留下要使用該-e選項啟動的可執行檔。

雖然echo可以作為可執行檔 ( /bin/echo) 使用,但如果沒有 . 則read作為bash內部命令將會失敗bash。因此,新視窗中的輸出完成速度比開啟視窗要快,如果read失敗,視窗會在您看到它之前關閉。

這就能解決問題:

x-terminal-emulator -e "bash -c 'echo $PATH; read'"

現在x-terminal-emulator啟動一個bashshell,然後將執行echo $PATH; read.由於echo和 特別read現在可用作bash內部命令,因此該read命令不會失敗並等待輸入,從而使視窗保持開啟狀態,直到按下某個鍵。

相關內容