Configuration 软件中配置和环境变量之间的主要区别是什么?

Configuration 软件中配置和环境变量之间的主要区别是什么?,configuration,operating-system,environment-variables,Configuration,Operating System,Environment Variables,软件中配置和环境变量之间的主要区别是什么 对于conf文件中的配置,如地址、端口和文件路径,它们也可以被视为环境变量。但对于HDFS中的配置,如dfs.namenode.audit.log.debug.cmdlist(仅当审核日志级别为debug时才写入HDFS namenode审核日志的namenode命令的逗号分隔列表),不应是环境变量。在我看来,配置和环境变量都是为软件运行环境设置参数。因此,可以将配置视为广义环境变量。但确实存在一些反例。我想知道这个想法有什么不对,以及配置和环境变量之间

软件中配置环境变量之间的主要区别是什么


对于conf文件中的配置,如地址、端口和文件路径,它们也可以被视为环境变量。但对于HDFS中的配置,如dfs.namenode.audit.log.debug.cmdlist(仅当审核日志级别为debug时才写入HDFS namenode审核日志的namenode命令的逗号分隔列表),不应是环境变量。在我看来,配置和环境变量都是为软件运行环境设置参数。因此,可以将配置视为广义环境变量。但确实存在一些反例。我想知道这个想法有什么不对,以及配置和环境变量之间的区别。

应用程序的参数可能不仅通过配置文件或环境变量指定,还通过其他方式指定,例如命令行参数、Windows注册表或数据库表

我不认为将任何一种方法视为另一种方法的概括是有用的。相反,不同的方法是相互竞争的技术。打个比方,CD与录音带和乙烯基唱片竞争,而不是它们的泛化

可以集成几种相互竞争的技术。例如,音乐系统可能集成磁带组、转盘、CD播放器、收音机和辅助输入端口(连接到MP3播放器),因此您可以欣赏多种竞争技术中的任何一种。如果您想看到一个集成多种竞争配置技术的示例,我建议您阅读Config4*入门指南的第2.5节和第3.5节,了解配置文件解析器(由我开发)如何与环境变量和命令行选项集成