如何让 tmux 执行命令然后分离(即自动在一行中,除了最初启动会话之外无需进一步输入)?
我不知道如何编写复杂的脚本。但我曾经在屏幕上使用如下命令来执行此操作:
screen -S torrent -d -m qbittorrent-nox
但我一直在读到 tmux 更好,我想切换。但我不知道如何实现上述命令的功能。
答案1
从手册中:
新会话[-AdDEPX] [-c 启动目录] [-e 环境] [-f 标志] [-F 格式] [-n 窗口名称] [-s 会话名称] [-t 组名称] [-x width] [-y height] [shell-command]
(别名:new)
创建一个名为 session-name 的新会话。
除非给出 -d,否则新会话将附加到当前终端。window-name 和 shell-command 是在初始窗口中执行的 shell 命令的名称。
您可以更换屏幕命令(按照@cas的建议命名会话以便于管理):
tmux new-session -d -s torrent qbittorrent-nox
它将创建一个名为的分离会话激流(而不是数字)qbittorrent-nox
在里面运行。当命令结束时,会话也会结束。
然后,您可以使用以下命令附加到此特定会话(如果创建了多个会话):
tmux attach-session -t torrent
或者如果已经有多路复用器如果客户端附加到其他会话,您可以使用以下命令切换到此会话:
tmux switch-client -t torrent
(或者简单地使用ctrlb和s或(,进行导航))。