#! /bin/sh
echo "$(byobu ls|grep attached)"|sed 's/\([a-zA-Z0-9][a-zA-Z0-9]*\).*/\1/'
这是我的脚本,~/.byobu/bin/
刷新时间为1秒。
这会将会话名称显示为自定义状态,但除 1 个会话外,其他所有会话均如此。对于该会话,它不显示会话名称,而是显示 ]0。
echo 命令是否存在问题?
答案1
ls |grep
当您执行附加的Byobu >>时就可以发现该问题~/byobu_out
。
当你 cat 此文件时,输出是正常的,即
session1name:details
session2name:details
但是当你打开它时vi
,你会看到文件是这样的:
^[]0;[user@host](x.x.x.x)] - byobu^Gsession1name:details
session2name:details
因此,当您传递此输出时,sed
它会停止在]0
。
为了克服这个问题,tail -c +x [filename]
请查看输出,其中x
是垃圾头的字节数。
垃圾标题只不过是 byobu 终端窗口的标题。