Получение переменных из ~/.bash.rc и сохранение их при выходе из системы

Получение переменных из ~/.bash.rc и сохранение их при выходе из системы

Я написал кучу скриптов bash, чтобы сделать возможными неинтерактивные, безопасные, основанные на cron SVN-извлечения с помощью клиента CollabNet SVN и GNOME Keyring Daemon (он же GKD), и один из скриптов был разработан для запуска GKD, сбора его вывода, по сути, пары переменных окружения, и экспорта этих переменных в оболочку пользователя, от имени которого запущен скрипт. Все это происходит при входе пользователя в систему путем размещения скрипта bash в ~/.bashrc.

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

Вопрос в том, как можно сделать эти переменные постоянными, то есть экспортировать их и сохранить неизменными даже во время сеансов входа-выхода?

решение1

Просто выведите переменную в другой скрипт оболочки в вашем домашнем каталоге (или в другом месте), начиная с . (чтобы она была невидима в представлении ls по умолчанию). Измените ваш .bashrc так, чтобы при запуске он выполнял этот скрипт оболочки.

Пример:

foo='What the heck'; echo "foo='$foo'" > ~/.startup.sh

Затем поместите это в ~/.bashrc и все готово:

. ~/.startup.sh

Связанный контент