1

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

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

Ну, вопрос в том, как эти переменные могут быть установлены постоянно, то есть они экспортируются и остаются нетронутыми даже во время сеансов входа в систему?

1 ответ1

0

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

Пример:

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

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

. ~/.startup.sh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .