Экран GNU разделил: как показать активную область в подписи

Принятие Вас имеет дату GNU, эта функция получит Вас все даты в течение предыдущих 2 месяцев:

dates_in_previous_two_months () { 
    for month_delta in 0 1; do
        # get the last day of a previous month
        day=$(date -d "$(date +%Y-%m-01) -$month_delta month -1 day" +%Y%m%d)
        until [[ $day == *00 ]]; do
            echo $day
            ((day--))
        done
    done
}

В течение любого дня в месяце февраля 2013 это возвращается:

20130131
20130130
20130129
[... and so on until ...]
20121203
20121202
20121201

В марте это возвратит даты из 20130228 кому: 20130101

Вы могли использовать его как:

for date in $(dates_in_previous_two_months); do
    "fetch" AA_XX_$date
done

или

dates_in_previous_two_months | xargs -I{} "fetch" AA_XX_{}
7
17.02.2015, 17:41
1 ответ

Я просмотрел раздел STRING ESCAPES справочной страницы экрана и обнаружил, что вам может понадобиться. ? escape похож на оператор if, а: escape похож на оператор else. F-переход истинен, когда это окно находится в фокусе. Таким образом, оператор if-then-else для if active then, else будет выглядеть следующим образом (добавлено дополнение для удобства чтения):

%? %F active-window options %: inactive-window-options %?

Исходным параметром было% {= g} (строка заполнения для отображения ширины и зеленого цвета) с изменением активного текст на экране, который станет ярко-красным, будет выглядеть так:

caption splitonly "%?%F%{= R}%:%{= g}%?[%n %t]"

https://www.gnu.org/software/screen/manual/screen.html#String-Escapes

2
27.01.2020, 20:19

Теги

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