|
|
发表于 2004-2-13 11:13:53
|
显示全部楼层
最初由 qhgary 发表
现在又有疑问了,
既然eval相当于扮演了一个传递参数给shell的角色,那么为什么
dircolors -b /etc/dircolor会返回这样一个参数呢?
这不是一个命令么? 把那些有关颜色的变量导到/etc/dircolor里面,这个命令执行完也应该是返回一个操作成功与否的标志啊
dircolors的功能是输出用来设定 LS_COLORS 环境变量的命令。它不是导入信息到/etc/dircolor,恰恰相反,这个文件是可选项.
从其man手册可分析到该文件的作用.如果指定<文件>,则读取该文件的数据来决定文件类型及扩展名相应的颜色。
否则,会使用一个默认的数据库。如要了解此文件格式的细节,请执行
‘dircolors --print-database’。 而$()返回的不是命令退出状态(0-255),而是命令的标准输出.
我们所说的eval命令,后面隐藏了shell的命令行处理规则,这个才是学习的关键. |
|