Присоединение и аутентификация Windiws Active Directory в клиенте Ubuntu 14.04

Чтобы ответить на этот вопрос, сначала попробуйте понять область действия переменной.

Когда вы создаете новую переменную типа SOME_ENV_VARIABLE="testing.txt", она находится в SHELL scope, это означает, что к ней можно получить доступ к этому экземпляру оболочки, в которой пользователь вошел в систему. Когда экземпляр меняет, например, вы открываете новый терминал или вы меняете оболочку (например, вы переключаетесь на csh), вы не можете получить доступ к этой переменной.

Когда вы экспортируете такую ​​переменную, как export SOME_ENV_VARIABLE, эта переменная теперь доступна в области среды, что означает , что экземпляр оболочки , если вы меняете оболочку, вы все равно можете получить доступ к этой переменной. Давайте попробуем разобраться со следующим примером:

[vishrant@localhost]$ SOME_ENV_VARIABLE="testing.txt" #creating variable in bash shell
[vishrant@localhost]$ echo $SOME_ENV_VARIABLE
testing.txt
[vishrant@localhost]$ export SOME_ENV_VARIABLE #variable now available with environment
[vishrant@localhost]$ env | grep SOME_ENV_VARIABLE
SOME_ENV_VARIABLE=testing.txt
[vishrant@localhost]$ csh #changing shell
[vishrant@localhost ~/shell_scripting]$ echo $SOME_ENV_VARIABLE
testing.txt
[vishrant@localhost ~/shell_scripting]$ exit
exit #returned to parent shell
[vishrant@localhost]$ SOME_SHELL_VARIABLE="hello.txt"
[vishrant@localhost]$ csh
[vishrant@localhost ~/shell_scripting]$ echo $SOME_SHELL_VARIABLE
SOME_SHELL_VARIABLE: Undefined variable.

Аналогия: предположим, у вас есть квартира с двумя спальнями, и вы делитесь ею с другим соседом по комнате. С общей зоной можно связаться кто угодно, но не ваши спальни, переменная окружения подобна общей области, а переменная оболочки похожа на спальню, если вы будете что-то в общей области, к которой может обратиться любой, но если вы храните ее в своей спальне, она может

Помните, если открыть новый терминал, вы не сможете получить доступ к какой-либо из переменных, потому что вы меняете Analogy: . Для этого вы должны добавить свои переменные в .profile или .bashrc (если вы используете bash).

1
задан 19 July 2014 в 10:05

0 ответов

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

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