Почему переменные среды, добавленные в .profile, не отображаются на экране

Вы можете попробовать Charles Proxy.

Я использовал его некоторое время, и он работает хорошо.

1
задан 22 May 2013 в 13:47

2 ответа

Из руководства Bash:

Когда bash вызывается как интерактивная оболочка входа или как неинтерактивная оболочка с опцией -login, она сначала считывает и выполняет команды из файла / etc / profile, если этот файл существует. После прочтения этого файла он ищет ~ / .bash_profile, ~ / .bash_login и ~ / .profile в этом порядке и считывает и выполняет команды из первого, который существует и доступен для чтения.

Это означает, что если у вас есть .bash_profile или .bash_login в вашей домашней папке, bash не будет читать содержимое вашего .profile. Кроме того, если он не запущен в интерактивной оболочке входа, .profile также не будет читаться.

3
ответ дан 24 May 2018 в 21:56
echo $0

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

Вы используете оболочку bash. Вы должны добавить эту строку

export LD_LIBRARY_PATH=/home/dspies/workspace/hdf5-1.8.11-linux-shared/lib

в файл ~/.bash_profile.

EDIT:

Вы можете найти разные имена сценариев имени входа для разных оболочек , здесь

EDIT:

Даже когда я выполнил echo $0 на двух разных машинах, я получил два разных ответа. На одной машине я получил bash, а с другой - -bash. Я задал этот вопрос здесь . Это то, что я получил в качестве ответа.

Processes with a - at the beginning of arg 0 have been run via login, or by exec -l in bash.

После прочтения этого ответа я сделал help exec и читал If the first argument is '-l', then place a dash in the zeroth arg passed to FILE, as login does.

1
ответ дан 24 May 2018 в 21:56

Другие вопросы по тегам:

Похожие вопросы: