Я пишу:
$ infocmp -1 xterm ... colors#8, bold=\E[1m, blink=\E[5m, ... $ tput -Txterm colors && echo OK || echo err 8 OK $ tput -Txterm blink && echo OK || echo err ^[[5mOK
Так что я могу использовать tput для проверки возможностей ретинала.
Это портативное устройство? Есть ли другие решения?
Или, может быть, я могу застрять с решением:
$ [ $TERM = xterm ] && echo ok || echo err ok
Одно из применений - установить PS1 в .bashrc. Другой для выделения вывода, чтобы привлечь внимание от скрипта sh. Я могу использовать такое решение:
PS1='bash# ' case "$TERM" in xterm*) PS1='\[\033[35m\]bash# \[\033[0m\]' ;; esac
которая использует только встроенную команду bash (настолько эффективна) и работает для всех моих случаев, но, к сожалению, не переносима.