Linux「螢幕」命令 - 啟動螢幕並同時在其中運行某些內容?

Linux「螢幕」命令 - 啟動螢幕並同時在其中運行某些內容?

我是 Linux 程式「screen」的忠實粉絲,它允許我在 SSH 會話中啟動一個 screen,該會話在斷開連接後仍能保持活動狀態。有關螢幕的更多資訊請參閱此處

有沒有一種方法可以從命令列啟動螢幕會話,並在該螢幕會話中自動啟動另一個程式(或 .sh 腳本)?

我想將其添加到我的樹莓派的啟動序列中,以便始終有一個屏幕自動運行某些軟體,即使樹莓派重新啟動,這樣我就可以隨時通過ssh 進入樹莓派以查看該軟體的輸出。

我看過這個解決方案,但這只是部分幫助。它的啟動畫面是這樣的

screen -t "df" watch -n 10 df

並成功啟動“df”命令。

但是,當程式運行完畢後,螢幕會關閉並消失。

即使最初啟動的程式已完成,我也希望螢幕保持活動。

答案1

將命令更改為:

screen -t "df" bash -c 'watch -n 10 df; exec bash'

bash -c: 使用bash-c運行多個命令。

exec bash: 後df命令終止時,它將啟動一個 shell (bash),該 shell 在外部終止之前不會退出。

答案2

您可以透過在 shell 中執行命令來完成此操作,該 shell 在命令完成後仍保持運行狀態。

例如,在一旦執行的腳本結束,防止 GNU 螢幕終止會話,接受的答案做了一個

exec bash

在命令之後,在命令完成時啟動 shell。

相關內容