Почему chkconfig по умолчанию выделяет слово «on» в Ubuntu Precise?
Потому что это то, что он делает. Я предполагаю, что это сделано специально для того, чтобы помочь людям заметить.
Из man chkconfig
выделено мое:
Режим списка печатает для каждой указанной службы строку, состоящую из имени службы и для уровней запуска от 0 до 6 в зависимости от того, будет ли служба работать. началось или нет. будет печататься ярко-зеленым цветом, если вывод записывается на терминал. Если задана опция --deps, имена служб, которые должны быть запущены до добавления этой службы в каждую строку. Сервисы inetd / xinetd перечислены в дополнительных разделах.
BLOCKQUOTE>
chkconfig
не просто выделяет слово on
. Он выделяет всю запись таблицы, когда запись представляет собой символическую ссылку (на скрипт в /etc/init.d
), через которую включена служба.
Как вы, возможно, знаете, общий способ настроить, запускается ли системная служба автоматически или нет, и , когда во время запуска системы она запускается, - это символические ссылки, хранящиеся в восьми подкаталогах /etc
: rc0.d
, rc1.d
, rc2.d
, rc3.d
, rc4.d
, rc5.d
, rc6.d
и rcS.d
. Эти каталоги содержат символические ссылки на скрипты из /etc/init.d
, которые запускают и останавливают сервисы. Имена символических ссылок обычно начинаются с S
, чтобы запустить службу, или K
, чтобы не запускать ее. chkconfig
показывает вам информацию об этой конфигурации и позволяет вам изменять ее.
Большую часть времени, когда пользователь запускает chkconfig --list
, пользователь хочет видеть , какие службы включены и , где они включены (т.е. через какую символическую ссылку или ссылки в каких rcX.d
каталогах). Следовательно, chkconfig
имеет смысл выделить записи, представляющие сценарии, которые вызывают запуск служб.
Это записи, содержащие слово on
. Но в этом слове нет ничего особенного. Это записи, которые содержат его, являются особыми, потому что они представляют то, что пользователь чаще всего ищет при запуске chkconfig --list
.
chkconfig --list
без выделения? не появляется , что есть какой-либо специальный флаг командной строки для отключения цвета. Для этого может быть переменная окружения. Но я считаю, что вы можете просто запустить:
chkconfig --list | cat
Я не могу проверить это в данный момент, потому что у меня нет системы Ubuntu, на которую я могу установить в настоящее время chkconfig
. Но в большинстве случаев программы с цветным выводом автоматически обнаруживают, когда стандартный вывод не является терминалом, и отключают его (поскольку это часто не работает должным образом). Передавая выходные данные из chkconfig --list
в cat
, вы не позволяете stdout быть терминалом, все еще видя выход на вашем терминале.