我不是专业的程序员,只是一个数码爱好者,没事的时候爱折腾一些生产力工具(最近在折腾 openwrt ),自然多多少少接触 Linux 。但是在搞配置文件的时候,我冒出了一个疑问,特来问问大家。 假如有一个参数选项( option )是“ abc ”,那么出现如下所示的配置时系统会如何处理?
abc=xyz
#abc=opq
系统会选择无视掉#abc=opq 这一行,然后执行 abc=xyz ?还是说系统会检测出矛盾,对这个选项做出处理(生效不生效我不知道)。
还有一个问题是:如果同时出现了两个重复的标注路径的信息,系统又会如何处理?例如下方代码同时出现了两个重复的路径,而根据我的经验,系统会选择执行默认路径而选择忽略掉自定义路径,并且不会给出错误信息。路径是这么处理的,那么如果换做配置参数选项( option )呢?系统会执行默认的参数选项?还是说会报错?
abc.log=默认路径
abc.log=自定义路径
1
oott123 2016-04-20 13:35:13 +08:00 via Android
每个程序的表现不一样,但通常而言你把它注释了,代表这一行都“不存在”,程序会无视它。
|
2
SpicyCat 2016-04-20 15:33:10 +08:00
1. 仅仅忽略被注释的那一行,所以你的例子里, abc=xyz 是生效的。
2. 配置文件有重复项目,这个怎么处理要看具体程序,但就我的经验而言,一般是不报错的,取最后一项,也就是后面的项目会覆盖前面的。 |
4
SpicyCat 2016-04-20 16:15:18 +08:00
@Stupitch 看 manpage 吧,不过一般 manpage 只是写各个项目是什么作用,有部分会写如果重复了会怎么处理。
|
5
AntonChen 2016-04-20 22:26:35 +08:00 via iPhone
一般是从#号开始到行末,不排除有中间#号整行注释的奇葩!
|