何时使用环境变量或命令行参数?

时间:2009-04-23 03:24:21

标签: scripting parameters

何时使用环境变量或命令行参数?

我认为有两种方法可以将参数传递给另一个进程 在脚本,环境变量和命令行参数中。

因此,在哪种情况下我们选择一种而不是另一种?

3 个答案:

答案 0 :(得分:3)

在我编写的大多数脚本中,我允许使用命令行参数优先。

这是为了让“懒惰”的用户想要设置'n'忘记这些参数。

它还允许通过命令行在特殊情况下覆盖这些参数。

对于那些不想错误地设置参数的人,他们只能使用参数。

有时我甚至会按照优先顺序在层次结构中有更多级别:

  • 程序运行时设置的值。
  • 命令行参数。
  • 环境变量。
  • 本地配置文件。
  • 全局配置文件。
  • 默认。

这样,对于每个变量,您只需按照向上该列表的方式工作,将其设置为相关值,如果它在那里。

答案 1 :(得分:1)

我建议你更喜欢命令行参数而不是环境变量,除非

  • 您需要在命令中保持不变的值。
  • 您需要系统范围的全局值

Foredecker

答案 2 :(得分:1)

请尽可能使用参数。

但是说你有Script1调用Script2。这两个脚本都分发给许多用户。 Script2可能需要不同的参数,具体取决于用户,并且用户不希望或由于某种原因无法更改Script1。这是环境变量可能有用的情况。