我想创建一个简单的 tmux conf 来执行以下操作。
tail -f foo
tail -f bar
我怎样才能用 tmux 做到这一点。
这就是我所拥有的
#!/bin/sh
tmux new-session -s asdf -n myWindow
tmux select-window -t myWindow
tmux split-window "tail -f /var/log/apache2/samperror.log"
tmux attach-session -t asdf
Run Code Online (Sandbox Code Playgroud)
我想不出任何工作。所以我知道这一切都错了。有史以来最不直观的 conf 文件之一
小智 8
这是一个快速而肮脏的命令行,可以实现您想要的:
$ tmux new-session -s asdf -n myWindow -d 'tail -f foo'\; \
split-window -d 'tail -f bar'\; attach-session
Run Code Online (Sandbox Code Playgroud)
此解决方案有一些缺点:
它不能很好地扩展(更多的命令和结果是不可理解的)。
这两个 tail 命令不在交互式 shell 中运行,因此如果您同时退出它们,则窗口myWindow
将被销毁(如果您还没有创建更多会话,则将与会话一起销毁。
这是一个 shell 脚本,它按照您尝试的方式工作。对我来说,考虑如何手动实现我的目标,然后将其转换为 tmux 命令总是最容易的。这可能不是最简单或最干净的方法,但它通常有效:
$ tmux new-session -s asdf -n myWindow -d 'tail -f foo'\; \
split-window -d 'tail -f bar'\; attach-session
Run Code Online (Sandbox Code Playgroud)
如果经过一些尝试后您仍然不喜欢tmux
命令和配置语法,您可能需要查看tmuxinator,这是一个 Ruby gem,可让您使用简化且更透明的语法管理 tmux 会话。
在我对没有 X 服务器的多个终端的回答中,您可以找到一些有用tmux
资源的链接
归档时间: |
|
查看次数: |
9684 次 |
最近记录: |