Пользовательский статус Byobu

#! /bin/sh
echo "$(byobu ls|grep attached)"|sed 's/\([a-zA-Z0-9][a-zA-Z0-9]*\).*/\1/'

это мой скрипт в ~/.byobu/bin/ время обновления составляет 1 секунду.

Это показывает имя сеанса в качестве пользовательского состояния, но оно делает это для всех, кроме 1 сеанса. Вместо отображения имени сеанса оно показывает] 0 для этого сеанса.

Есть ли какая-то проблема с командой echo?

2
задан 2 November 2012 в 11:22

1 ответ

Проблема может быть найдена, когда вы делаете Byobu ls |grep прилагается >> ~/byobu_out.

Когда вы просматриваете этот файл, вывод нормальный, т.е.

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.

0
ответ дан 2 November 2012 в 11:22

Другие вопросы по тегам:

Похожие вопросы: