Как добавить переменную среды, такую как NODE_ENV, из сценария оболочки в .profile?

#bash #shell

#bash #оболочка

Вопрос:

Я пишу сценарий оболочки, который автоматизирует задачу настройки любого нового экземпляра EC2. Для этой цели обязательным условием является настройка вызываемой переменной среды NODE_ENV='production' . Теперь из сценария оболочки я не знаю, как получить доступ к файлу профиля, чтобы добавить эту строку export NODE_ENV='production' внизу файла .profile?

Комментарии:

1. Это то же самое, что доступ к любому другому файлу.

2. Надеюсь, вы понимаете, что простое добавление строк в .profile не повлияет на текущий процесс, если вы не «создаете» его?

3. @cdarke Да, тогда следующей строкой к ней будет source ~/.profile . Это сработает?

4. @cdarke Это не сработало. Я предполагаю, что это то, о чем вы меня предупреждали. Как мне создать / перезагрузить ее из сценария bash?

5. source ~/.profile это должно быть сделано, но если все, что вам нужно, это переменная, тогда нет необходимости записывать ее в ваш начальный файл.

Ответ №1:

Для добавления export NODE_ENV='production' в нижней части ~/.profile :

 echo "export NODE_ENV='production'" >> ~/.profile
 

Комментарии:

1. Вам нужно добавить export , чтобы она стала переменной среды (в противном случае это просто переменная оболочки , которую дочерние процессы не будут видеть).

2. Спасибо и , но, пожалуйста, просто удалите неэффективную версию.