Предпосылки сброса к прозрачному с tmux?

Вероятно, безопасно предположить, что удар заменит пустыми переменными с 0 в любой довольно недавней системе.

Поскольку это документируется в страницу справочника для удара 4.2, это - конечно, зарегистрированное поведение, по крайней мере, с той версии. Как это описано как поведение тот путь (но недокументированное) в Усовершенствованном Руководстве по созданию сценариев Bash, можно ожидать, что поведение в любой версии удара было доступно, когда это было записано. Это, вероятно, возвращается к очень ранним версиям удара.

Если Вы захотите быть АБСОЛЮТНО строгими, однако, то необходимо будет проверить документацию на все версии удара, которые Вы хотите поддерживать, и Вы не можете сделать предположения ни об одной из тех версий, которые явно не документируют поведение.

Я не думаю, что необходимо быть абсолютно строгими, но если Вы не рискуете, можно использовать foo=${foo:-0} явно установить неопределенные переменные на 0 перед использованием их. Пример:

foo=1

foo=${foo:-0}
bar=${bar:-0}

echo "before math: foo=$foo, bar=$bar"
let 'foo += 2'
let 'bar += 2'
echo "after math: foo=$foo, bar=$bar"

Вывод:

before math: foo=1, bar=0
after math: foo=3, bar=2
5
06.12.2012, 20:26
1 ответ

Функция «прозрачности» предполагает, что приложения, которые запускаются в терминале, не устанавливают явно цвет фона. В частности, при очистке фона эти приложения не должны устанавливать цвет. Это соответствует функции терминала, известной как стирание заднего цвета или bce .

Запись TERM = screen-256color сообщает приложениям, что они должны установить цвет при очистке дисплея (чтобы гарантировать использование текущего цвета). Существует другое описание терминала screen-256color-bce , которое будет делать то, что вы хотите в этом случае.

Дополнительная литература:

2
27.01.2020, 20:42

Теги

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