我正在(重)写我windows.tmux
常用的byobu
会话。以下是我的确切要求:
我想要一个带有 root 提示符的选项卡(或窗口?)。(启动时,它会等待 sudo passwd)。我希望第二个选项卡水平分割。在上面的部分我想监控我的,/var/log/syslog
在下面的部分我想监控我的dmesg
。到目前为止,我可以通过执行以下操作来实现:
new-session -AD -s 'root' sudo su - ;
new-window -n log watch -n 1 tail -n 15 /var/log/syslog
split-window watch dmesg | tail -15;
但是问题(与本主题完全无关)是,我的日志中有很多条目syslog
(几乎每秒 4/5 行),我希望在监控时避免这种情况。所以我想在这些行上。和的grep -v
组合可以根据我的需要实现(感谢watch
tail
grep
钢铁司机他的回答这里。
watch -n 1 'tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern2"'
问题就在这里:如果我在window.tmux
new-window -n log watch -n 1 'tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern2"'
我明白了,
sh: 1: tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern2": not found
事实上,更普遍的问题是,如果我将命令封装在引号中(无论是单引号'
还是双引号"
),我都会收到相同的错误。
的输出byobu --version
为:
byobu version 5.116
tmux 2.3
GNU bash, version 4.4.7(1)-release
我在 17.04 上使用。
提前致谢——迈克
我还没有尝试过screen
。这是可实现使用screen
?
答案1
在你bashrc
创建别名
alias monitor_log='tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern1"'
你windows.tmux
可以:
new-session -AD -s 'root' sudo su - ;
new-window -n log;
split-window watch dmesg | tail -15;
这将在第二个窗口顶部分割中为您提供 bash-prompt,并在底部提供 dmesg。然后输入您最喜欢的watch
命令:
watch -n 1 'tail -n 15 /var/log/syslog | grep -v -E "pattern1|pattern2"'
不确定您是否可以为此创建别名!
希望这可以帮助。