Мои переменные
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Как сохранить эти переменные навсегда?
environment-variables
user3021349
источник
источник
/usr/lib/oracle/11.2/client64/lib
новый файл под/etc/ld.so.conf.d/
путем. Тогда вам не нужно устанавливать LD_LIBRARY_PATH, см. Также здесь .Ответы:
Вы можете добавить его в файл
.profile
или файл профиля вашей оболочки входа (расположенный в вашем домашнем каталоге).Чтобы изменить переменную среды «навсегда», вам необходимо рассмотреть как минимум следующие ситуации:
удар
/etc/profile
,~/.bash_profile
,~/.bash_login
,~/.profile
в порядке~/.bashrc
$BASH_ENV
ЗШ
КШ
Борн
csh или tcsh
Если вы хотите сделать его постоянным для всех пользователей, вы можете отредактировать соответствующие файлы
/etc/
, например,/etc/profile
для Bourne-подобных оболочек,/etc/csh.login
для (t) csh и/etc/zsh/zprofile
и/etc/zsh/zshrc
для zsh.Другим вариантом является использование
/etc/environment
, которое в системах Linux читается модулем PAMpam_env
и поддерживает только простые назначения, а не расширения в стиле оболочки. (См . Руководство Debian по этому вопросу.)Эти файлы, вероятно, уже содержат некоторые назначения, поэтому следуйте синтаксису, который вы уже видите в вашем файле.
Обязательно перезапустите оболочку и перезапустите пользователя, чтобы применить изменения.
Если вам нужно добавить общесистемную переменную среды, теперь есть
/etc/profile.d
папка, содержащая скрипт sh для инициализации переменной.Вы можете разместить свой скрипт sh со всеми экспортируемыми вами переменными здесь.
Будьте осторожны, хотя это не должно использоваться в качестве стандартного способа добавления переменной в env в Debian.
источник
.profile
в/etc/
но я не как установить переменные в этом.profile
скажите , пожалуйста.profile
находится в вашем домашнем каталоге нет/etc/
[Admin@localhost etc]$ cat ~/.profile cat: /home/Admin/.profile: No such file or directory [Admin@localhost etc]$
:wq
это команда для записи файла и выхода из vi, не забудьте набратьesc
раньшеcrontab
скриптах. Ни одно из этих мест не будет найдено приcrontab
запуске скрипта.Делать, если для всех пользователей / оболочек, в зависимости от дистрибутива вы можете использовать
/etc/environment
или/etc/profile
. Создание нового файла в/etc/profile.d
может быть предпочтительнее, если он существует, так как с меньшей вероятностью будет конфликтовать с обновлениями, сделанными системой упаковки.В
/etc/environment
переменные обычно устанавливаются с помощьюname=value
, например:В
/etc/profile
, вы должны использовать,export
так как это скрипт, например:То же самое относится и к файлу
/etc/profile.d
, но также могут быть ограничения именования, которые должны быть соблюдены, чтобы файл работал. В Debian файл должен иметь расширение.sh
(хотя он не нуждается в строчке bang или правах на исполняемый файл, поскольку он получен). проверьте документацию к дистрибутиву или посмотрите/etc/profile
скрипт, чтобы увидеть, как эти файлы загружаются.Обратите внимание также на то, что установка на
LD_LIBRARY_PATH
постоянной основе потенциально проблематична , включая угрозу безопасности. В качестве альтернативы, я бы предложил найти какой-нибудь способ добавитьLD_LIBRARY_PATH
к началу командной строки перед каждой программой, которая в ней нуждается, перед запуском. Например:Один из способов сделать это - использовать скрипт-обертку для запуска программы. Вы можете присвоить это имя тому же имени, что и ваша программа, и вставить его в
/usr/local/bin
любое место, где оно находится перед местоположением вашей программыPATH
. Вот пример сценария (не забудьтеchmod +x
сценарий):источник
environment
файл, что заставляет их загружаться? Например, после выхода из редактора vi (изменения записаны успешно), я ожидаю написатьecho $MY_NEW_VARIABLE
и посмотреть, как он распечатывается - РЕДАКТИРОВАТЬ: я вижу, что они там, если я запустил новую командную оболочку/etc/environment
, даже если я перезапустил терминал Bash или набралsource /etc/environment
. Поэтому, если у вас возникают проблемы, когда переменная окружения не сохраняется, попробуйте перезагрузить компьютер./etc/environment
это не сценарий, поэтому его нельзя получить. Он загружается во время входа (и нескольких других системных событий) PAM, поэтому вы можете либо выйти из системы, либо войти в систему, либо запустить новый сеанс входа в систему в терминале,$ su <your username here>
чтобы получить новые значения в этом изолированном сеансе. Значения исчезнут после вашего выхода, так что, вероятно, менее подвержен ошибкам просто полный выход из системы / вход в систему.когда вы устанавливаете oracle, oracle попросил вас запустить несколько скриптов, прежде чем нажимать ok. Этот скрипт поместил фиктивную настройку в
.bash_profile
домашнюю директорию пользователя oracle. Чтобы увидеть файл,ls -al
покажет все скрытые файлы.введите,
nano bash_profile
чтобы открыть файл. Внесите изменения в файл, чтобы отразить ваше имя хоста и соответствующее имя sid. проверьте любые другие настройки, которые необходимо изменить. нажмите control x для сохранения и введите y, когда вас спросят, хотите ли вы сохранить. Нажмите клавишу возврата, чтобы сохранить. Перезагрузите компьютер. Регистрация как пользователь оракула. запустить базу данных, набрависточник