Tmux

如何在 tmux 中執行命令並使用單行命令分離?

  • June 21, 2021

我怎樣才能讓 tmux 執行命令然後分離(也就是說,除了最初啟動會話之外,自動在一行中沒有進一步的輸入)?

我不知道編寫複雜的腳本。但我曾經在螢幕上使用如下命令執行此操作:

screen -S torrent -d -m qbittorrent-nox

但我一直在閱讀 tmux 更好,我想切換。但我不知道如何實現上述命令的作用。

從手冊:

新會話

$$ -AdDEPX $$ $$ -c start-directory $$ $$ -e environment $$ $$ -f flags $$ $$ -F format $$ $$ -n window-name $$ $$ -s session-name $$ $$ -t group-name $$ $$ -x width $$ $$ -y height $$ $$ shell-command $$

(別名:new)

創建一個名為 session-name 的新會話。

**除非給出 -d,否則新會話將附加到目前終端。**window-name 和 shell-command 是在初始視窗中執行的 shell 命令的名稱。

您可以將screen命令替換為(按照@cas 的建議命名會話以便於管理):

tmux new-session -d -s torrent qbittorrent-nox 

它將創建一個名為torrent(而不是數字)的獨立會話,並qbittorrent-nox在內部執行。當命令結束時,會話也將結束。


然後,您可以使用以下方法附加到此特定會話(如果有多個創建):

tmux attach-session -t torrent

或者,如果已經有一個tmux客戶端附加到另一個會話,您可以使用以下命令切換到這個客戶端:

tmux switch-client -t torrent

ctrl``b(或簡單地使用ands(,導航))。

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