Если вы хотите поместить это в свой .bashrc
файл, он будет немного улучшен:
- Вы должны убедиться, что строка направлена на терминал
- Кроме того, оболочка должна быть интерактивной (в случае, если какой-либо сценарий источника
.bashrc
) echo
с-e
опцией есть проблемы с переносимостью. Используйтеprintf
.
Собираем их вместе и пишем в стандартную ошибку (потому что она не буферизируется):
[ -n "PS1" ] && [ -t 2 ] && printf '\033[6 q' >&2
urxvt реализует DECSCUSR
управляющую последовательность, задокументированную в управляющих последовательностях XTerm :
CSI Ps SP q Set cursor style (DECSCUSR, VT520). Ps = 0 -> blinking block. Ps = 1 -> blinking block (default). Ps = 2 -> steady block. Ps = 3 -> blinking underline. Ps = 4 -> steady underline. Ps = 5 -> blinking bar (xterm). Ps = 6 -> steady bar (xterm).
Обратите внимание, что коды 5 и 6 являются функциями xterm.
Эта последовательность управления не упоминается на странице руководства в Интернете urxvt (7), но отмечена в записи журнала изменений :
9.19 Sun Oct 27 17:16:07 CET 2013 ... - add support for the set cursor style (DECSCUSR) control function.
также исходный код показывает это (см. set_cursor_style
), а исходный код страницы руководства показывает эту функцию. Это было обновлено в 2014 году для кодов 5 и 6 .
Дальнейшее чтение:
- 6.3.2 Является ли эта оболочка интерактивной? (Справочное руководство Bash)
- 6.4 Условные выражения Bash (справочное руководство Bash)