Я использую Ubuntu 11.04. Я использую терминал для запуска сеанса bash, и я хочу добавить переменную среды:
$r@hajt:~$ env THEVAR=/example
Но это не работает. Он показывает все переменные, причем THEVAR является последней, но еще один вызов env не показывает THEVAR больше не- env | grep THEVAR ничего не возвращает.
Аналогично, скрипты с экспортом (export THEVAR=/example) или другие присвоения переменных (THEVAR=/example) не добавляйте переменную среды.
Я знаю, что делаю что-то не так, я знаю, что это должно быть что-то простое, но я просто не могу найти, что именно.
Чтобы задать переменную среды один раз, используйте export команда в командной строке, а не в сценарии оболочки:
$ export THEVAR=/example
Переменная будет установлена для остальной части сеанса оболочки или до тех пор, пока не будет сброшена.
Чтобы каждый раз устанавливать переменную среды, используйте export команда в .bashrc файл (или соответствующий файл инициализации для вашей оболочки).
Чтобы задать переменную среды из скрипта, используйте export команду в скрипте, а затем source сценарий. Если вы запустите скрипт, он не будет работать.
Чтобы изменения среды / var сохранялись после завершения скрипта, вы должны использоватьsource ./script.sh или сокращенное обозначение источника ".", например . ./script.sh
Источник будет выполнять команды в скрипте так, как если бы вы их ввели... таким образом, это действительно меняет некоторые аспекты скрипта, такие как выход... так что, если ваш скрипт что-то проверяет и решает завершить работу, если false, например, с помощью вызова exit 0, это завершит ваш текущий сеанс терминала / оболочки.
Я знаю, что уже довольно поздно, но если вы хотите добавить переменную среды для всех пользователей (например, использование JAVA) - вы можете сделать следующее:
1) Открыть /etc/bash.bashrc использование nano (вы можете использовать любой редактор, я не предпочитаю VIM, так как он хуже всего подходит для удобства пользователя - ничего личного).
2) Добавить в файл:
export VAR=path export PATH=$PATH:/bin3) (Лучше, если вы сможете сбросить флажок) - или просто откройте новый сеанс SSH и подтвердите с помощью команды `env'.
НО ЕСЛИ вы хотите, чтобы у каждого пользователя была отдельная настройка для этого, вам необходимо внести изменения (по сценарию) в .bashrc файл под ~/.bashrc (или /home/$USER/ если вы новичок в системах Linux)
Если вы выполняете что-то с помощью скрипта, один из простых способов постоянной установки переменной среды - поместить в ваш скрипт нижеприведенный оператор,
if [[ ! -d "$MyVar" ]]; then export MyVar="abc" echo 'export MyVar="abc"' >> ~/.bashrcfi
Если вам нужно вычислять выражения, подобные pwd, вы можете использовать это, например,
Если вы используете Ubuntu или любую систему на базе Unix, экспортируйте переменные в ~/.bashrc файл. Это скрытый файл, и вы можете попасть туда через терминал или, открыв скрытые файлы в файловой системе.
Затем отредактируйте файл и установите export THEVAR=/example там, сохраните, и все готово.