Вы делаете это намного сложнее, чем должно быть. Вы можете обрабатывать выравнивание с помощью $message
и не заботиться о ширине последовательностей ANSI:
#! /usr/bin/env bash
message() {
[ x"$2" = xOK ] && color=2 || color=1
let offset=$(tput cols)-4-${#2}
printf "%-*s[ %s%s%s ]\n" $offset "$1" "$(tput setaf "$color")" "$2" "$(tput sgr0)"
}
message "install font library" "OK"
message "update configuration file on server" "ERR"
Изменить: Обратите внимание, что большинство реализаций printf(1)
не справляются хорошо с вычислениями длин для многобайтовых кодировок. Поэтому, если вы хотите печатать сообщения с акцентированными символами в UTF-8, вам может понадобиться другой подход. пожать плечами
Тоже случалось со мной. Но я нашел решение, я просто устанавливаю "openjdk-7-jdk", в то время как "openjdk-7-jre" уже установлен с помощью "Software Manager".
Я запускаю PhpStorm-2016.1 build PS-145.1616.3 в linuxmint-17.3 под кодовым названием "Rosa".
Похоже, это проблема переключаемого графического драйвера в Linux. Отключение адаптера Nvidia избавляет от этой проблемы. Я решил проблему следующим образом:
Очевидно, было бы предпочтительнее иметь адаптер nvidia включен. Если я выясню, как заставить работать переключаемую графику, я обновлю этот пост.