Когда использовать переменную среды или параметр командной строки? - PullRequest
1 голос
/ 23 апреля 2009

Когда использовать переменную окружения или параметр командной строки?

Я думаю, что есть два способа передачи параметров другому процессу в сценарии, переменной среды и параметрах командной строки.

Таким образом, в каком состоянии мы выбираем одно вместо другого?

Ответы [ 3 ]

3 голосов
/ 23 апреля 2009

В большинстве сценариев, которые я пишу, оба параметра с командной строкой разрешены.

Это позволяет «ленивым» пользователям, которые хотят установить и забыть параметры, сделать это.

Это также позволяет переопределять эти параметры в особых случаях из командной строки.

Для тех, кто не хочет рисковать тем, что их параметры могут быть установлены неправильно, они могут просто использовать параметры.

Иногда у меня даже будет больше уровней в иерархии, в порядке приоритета:

  • Значение установлено во время работы программы.
  • Параметр командной строки.
  • Переменная среды.
  • Локальный конфигурационный файл.
  • Глобальный конфигурационный файл.
  • По умолчанию.

Таким образом, для каждой переменной вы просто работаете на в этом списке, устанавливая для него соответствующее значение, если оно есть.

1 голос
/ 23 апреля 2009

Всегда предпочитайте параметры, когда можете.

Но скажем, у вас есть Script1, который вызывает Script2. Оба сценария распространяются среди многих пользователей. Script2 может потребоваться разные параметры в зависимости от пользователя, и пользователи по какой-то причине не хотят или не могут изменить Script1. Это тот случай, когда переменные среды могут быть полезны.

1 голос
/ 23 апреля 2009

Я предлагаю вам предпочесть параметры командной строки, а не переменные среды, если

  • вам нужны значения, которые сохраняются в разных командах.
  • вам нужны глобальные общесистемные значения

Foredecker

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...