TMUX:在开始Shell-Command退出时,如何使新窗口停留?
题
在TMUX命令模式下,以下创建新窗口并在内部打开VIM:
:new-window vim
退出VIM时,窗口也已关闭。有没有办法让它停留?
解决方案
tmux
有一个选择: remain-on-exit
:
tmux set remain-on-exit on
其他提示
我意识到这是一个漫长的问题。但是我是TMUX的最新用户,我也有同样的问题。事实证明,您可能想这样做:
tmux new-session bash -l
这为您提供了一个bash窗口(登录外壳)。然后,运行您想要的任何命令。完成后,他们像您期望的那样返回命令提示符。我认为很多人都在寻找类似屏幕的行为。这是一种简单的方法。
我使用send-keys,以便将命令“键入”到外壳中。这是我的 get.all
脚本启动了许多命令,其中一些命令在完成后可能需要与之互动(我不这样做, exit
):
#!/bin/sh
tmux att -t get ||
tmux \
new -s get -n emacs \; \
send-keys 'get.emacs' C-m \; \
neww -n git \; \
send-keys 'get.git' C-m \; \
neww -n mini \; \
send-keys 'get.mini' C-m \; \
neww -n port \; \
send-keys 'get.port' C-m \; \
neww -n rakudo \; \
send-keys 'get.rakudo' C-m \; \
neww -n neil \; \
send-keys 'get.neil && get.neil2 && exit' C-m \; \
neww -n red \; \
send-keys 'get.red && exit' C-m \; \
neww -n cpan \; \
send-keys 'get.cpan && exit' C-m \; \
selectw -t emacs
将@JO的好评论移至单独的答案。
第一个命令下降到外壳 ls -la
完成:
tmux new-window "/bin/sh -c 'ls -la; exec bash'"
不隶属于 StackOverflow