Как правильно манипулировать переменными среды с помощью скриптов bash? - PullRequest
0 голосов
/ 23 января 2019

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

Это открывает проблему установки переменных среды: чтобы изменить переменную в моей оболочке, а не только в подпроцессе, мне нужно либо поместить свои команды в сценарии и всегда исходить из сценариев, либо определить их как функциии отправьте файл через .bashrc.

Я также определил некоторые вспомогательные функции, которые используются несколькими моими командами, которые я предпочел бы НЕ использовать в рамках основного процесса оболочки.

Я немного неопытен в bash, поэтому мой вопрос: каков самый чистый способ реализовать это?Должен ли я поместить свои команды в сценарии или функции?Могу ли я предотвратить поступление своих вспомогательных функций в основную оболочку?Есть ли более простой способ манипулировать переменными среды?

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Я бы порекомендовал вам иметь файлы .profile вместо файлов .sh.case1.profile, case2.profile и источник их при необходимости.используйте любой из приведенных ниже методов для получения файлов.

source ~ / .case1.profile

или

.~ / .Case1.profile

0 голосов
/ 23 января 2019

вы можете хранить переменные окружения в файле оболочки (myEnv.sh).затем вы можете использовать

source myEnv.sh 

для загрузки переменных env в соответствии с вашими потребностями.

вы также можете использовать это для вставки в ваши основные скрипты оболочки

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