Terminal

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

  • April 14, 2020

我在 Linux Mint 19.03

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

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

像這樣的東西:

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

這段程式碼應該會打開一個新的終端,應該顯示 $PATH 變數並且讀取只是為了停止終端。

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

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

謝謝。

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命令不會失敗並等待輸入,這會使視窗保持打開狀態,直到按下一個鍵。

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