Intereting Posts

Отобразить результат команды, выровненной в терминале

У меня есть сценарий, который проходит через множество разных проверок, и я использую функции success , функции failure определенные в /etc/init.d/functions чтобы четко показать результат действия на терминале.

Это отлично работает, за исключением некоторых случаев, когда я печатаю немного больше текста, затем я получаю окно результатов, отображаемое над моим текстом :

/usr/share/app/lib/lib_mylib.so lib[ OK ]o matches as expected

Где я хочу, чтобы он отображался:

/usr/share/app/lib/lib_mylib.so lib_mylib.so matches as expected [ OK ]

RES_COL я увидел, что /etc/init.d/functions использует переменную RES_COL чтобы RES_COL где печатать поле результата. Если /etc/sysconfig/init существует, тогда RES_COL , по умолчанию устанавливается 60 символов.

Я попытался export RES_COL=100 после поиска /etc/init.d/functions безрезультатно. Кроме того, я хотел бы, чтобы поле результата выравнивалось по правому краю с окном терминала и не требовало жесткого кода для этого значения. Есть идеи?

Команда tput может использоваться для управления курсором при условии, что ваша переменная TERM установлена ​​правильно. В сочетании с переменными LINES и COLUMNS вы можете позиционировать курсор везде, где хотите.

Синтаксис:

 tput cup line column 

Например:

 tput cup $((LINES-2)) $((COLUMNS-4));echo "[OK]"