Настройка переменных среды в Linux с помощью Bash
на tcsh
, У меня работает следующий скрипт:
#!/bin/tcsh
setenv X_ROOT /some/specified/path
setenv XDB ${X_ROOT}/db
setenv PATH ${X_ROOT}/bin:${PATH}
xrun -d xdb1 -i >
что эквивалентно
5 ответов:
export VAR=value
установит значение VAR. Заключите его в одинарные кавычки, если вам нужны пробелы, напримерexport VAR='my val'
. Если вы хотите, чтобы переменная была интерполирована, используйте двойные кавычки, напримерexport VAR="$MY_OTHER_VAR"
.
причина, по которой люди часто предлагают писать
VAR=value export VAR
вместо более короткого
export VAR=value
заключается в том, что более длинная форма работает в более разных оболочках, чем короткая форма. Если вы знаете, что имеете дело с
bash
, либо работает нормально, конечно.
установите локальную переменную и переменную окружения с помощью Bash на Linux
Проверьте локальные или переменные среды для переменной с именем LOL в Bash:
el@server /home/el $ set | grep LOL el@server /home/el $ el@server /home/el $ env | grep LOL el@server /home/el $
проверьте, нет местных или переменную окружения под названием ЛОЛ.
установите локальную переменную с именем LOL в local, но не в environment. Так что установите его:
el@server /home/el $ LOL="so wow much code" el@server /home/el $ set | grep LOL LOL='so wow much code' el@server /home/el $ env | grep LOL el@server /home/el $
переменная ' LOL ' существует в локальных переменных, но не в переменных окружения. Лол будет исчезнет, если вы перезагрузите терминал, выход из системы / войти или запустить
exec bash
.установите локальную переменную, а затем очистите все локальные переменные в Bash
el@server /home/el $ LOL="so wow much code" el@server /home/el $ set | grep LOL LOL='so wow much code' el@server /home/el $ exec bash el@server /home/el $ set | grep LOL el@server /home/el $
вы также можете просто снять одну переменную:
el@server /home/el $ LOL="so wow much code" el@server /home/el $ set | grep LOL LOL='so wow much code' el@server /home/el $ unset LOL el@server /home/el $ set | grep LOL el@server /home/el $
локальная переменная LOL исчезла.
повысить локальную переменную до переменной окружения:
el@server /home/el $ DOGE="such variable" el@server /home/el $ export DOGE el@server /home/el $ set | grep DOGE DOGE='such variable' el@server /home/el $ env | grep DOGE DOGE=such variable
обратите внимание, что при экспорте он отображается как локальный переменная и переменная окружения.
экспортированная переменная DOGE выше переживает сброс Bash:
el@server /home/el $ exec bash el@server /home/el $ env | grep DOGE DOGE=such variable el@server /home/el $ set | grep DOGE DOGE='such variable'
снять все переменные окружения:
вы должны вытащить банку Чака Норриса, чтобы сбросить все переменные среды без выхода / входа в систему:
el@server /home/el $ export CAN="chuck norris" el@server /home/el $ env | grep CAN CAN=chuck norris el@server /home/el $ set | grep CAN CAN='chuck norris' el@server /home/el $ env -i bash el@server /home/el $ set | grep CAN el@server /home/el $ env | grep CAN
вы создали переменную окружения, а затем сбросили терминал, чтобы избавиться от них.
или вы можете установить и отключить среду переменная вручную, как это:
el@server /home/el $ export FOO="bar" el@server /home/el $ env | grep FOO FOO=bar el@server /home/el $ unset FOO el@server /home/el $ env | grep FOO el@server /home/el $