什么应是可配置的
- Unix提倡建立机制而把策略决定权留给用户,往往会导致选项过多。
- 不应该配置:
- 能够可靠自动检测的东西;
- 用户不应该看到优化开关;
- 能用脚本包装器或简单管道完成的任务,就不要使用配置开关实现。
配置放在哪里
- /etc目录:管理员设置的系统级选项
- 支持#开头的注释
- 不去别隐匿的空白符
- 多个连续的空行视为单个空行
- 词法上把文件视作简单的用空白符分割的标记序列,或多行标记,但支持以字符串语法对内嵌空白符的标记
- 支持\转义
- 环境变量:管理员设置的系统级选项
- 用户主目录的点文件:用户控制的选项
- 用户设置的环境变量:大量程序共享、独立于应用程序的选项
- 程序的命令行参数:调用时可能发生变化的选项
注意:环境变量通常覆盖点文件的设置,但又可能被命令行选项覆盖。