dircolors
在 dircolors 配置文件上创建 bash 命令,运行时可以设置环境变量LS_COLORS
。
环境变量有什么用?终端模拟器?如果是这样,为什么创建的 bash 命令不dircolors
依赖于终端模拟器的类型,而我们必须在 dircolors 配置文件之后指定终端模拟器的类型TERM
?
ls
环境变量如何用于对诸如、 和 bash 自动完成路径名之类的命令的输出进行着色?
答案1
环境LS_COLORS
变量会像所有环境变量一样传递给定义后执行的每个程序。看man execve
。/bin/ls
是一个关注LS_COLORS
并使用它来产生漂亮输出的程序。
strings /bin/ls | grep LS_COLORS
其他节目可以使用LS_COLORS
,但/bin/ls
开发团队可以控制 的更改和添加LS_COLORS
,那为什么呢?你会用来做什么LS_COLORS
?
看man dircolors dir_colors
。