为什么 chkconfig 在 Precise 中默认突出显示“on”一词?

为什么 chkconfig 在 Precise 中默认突出显示“on”一词?

为什么 chkconfig 在 Ubuntu Precise 中默认突出显示“on”字样?

终端中突出显示的 chkconfig 屏幕截图

答案1

因为这就是它的作用。我认为这是故意设计的,是为了让人们注意到。

来自man chkconfig,重点是我的:

列表模式为每个指定的服务打印一行,该行包含服务名称以及运行级别 0 到 6 的开启或关闭(取决于服务是否启动)。如果输出写入终端,则将以亮绿色打印。如果指定了 --deps 选项,则每行都会附加此服务之前必须启动的服务的名称。inetd/xinetd 服务列在附加部分中。

答案2

chkconfig不仅仅是突出单词 on. 当条目代表一个符号链接(到 中的脚本/etc/init.d)时,它会突出显示整个表条目,通过该条目可以启用服务。

您可能知道,配置系统服务是否自动启动的常用方法是在系统启动期间它启动时,符号链接存储在以下八个子目录中/etcrc0.d、、、、、、和。这些目录包含指向启动和停止服务的脚本的符号链接。rc1.d符号链接的名称通常以 开头,用于启动服务或不启动服务。显示有关此配置的信息,并允许您修改它。rc2.drc3.drc4.drc5.drc6.drcS.d/etc/init.dSKchkconfig

大多数时候,当用户跑步时chkconfig --list,用户希望看到启用了哪些服务它们被启用的地方(即通过哪个符号链接或链接,在哪个目录中)。因此,突出显示代表导致服务运行的脚本的条目是有意义的。rcX.dchkconfig

这些是包含单词 的条目on。但该单词并没有什么特别之处。包含该单词的条目才是特殊的,因为它们代表了用户在运行 时最常查找的内容chkconfig --list

如果您想chkconfig --list在不突出显示的情况下运行该怎么办?

没有出现是否有任何特殊的命令行标志可以关闭颜色。可能有一个环境变量可以做到这一点。但我相信您可以简单地运行:

chkconfig --list | cat

我目前无法测试这一点,因为我没有可以安装 的 Ubuntu 系统chkconfig。但大多数情况下,具有彩色输出的程序会自动检测标准输出是否不是终端,并将其禁用(因为它通常无法正常工作)。通过将 的输出通过管道传输chkconfig --listcat,您可以防止 stdout 成为终端,同时仍可在终端上看到输出。

相关内容