Руководство пользователя Linux


Руководство пользователя Linux - стр. 86


То, как я на самом деле установил свою переменную PATH, включает в себя многое из того, что вы уже узнали о переменных окружения. Вот, что действительно содержится в моем файле .bashrc:

export PATH=${PATH}:.:${HOME}/bin/:bin:/usr/bin:/usr/local/bin: /usr/bin/X11:/usr/TeX/bin

Здесь я использую тот факт, что переменная HOME установлена ранее, чем Bash начнет читать мой .bashrc, и я могу использовать ее значение при установке моей PATH. Фигурные скобки представляют собой дальнейший уровень "закавычивания"; они выделяют то, что именно должен вычислить "$", так что shell не придет в замешательство от текста, который немедленно следует за ним ("/bin" в данном случае). Вот другой пример того, как это действует:

/home/larry# echo ${HOME}foo /home/larryfoo /home/larry#

Без этих кавычек у меня ничего бы не получилось, поскольку не существует переменной окружения с именем HOMEfoo.

/home/larry# echo $HOMEfoo

/home/larry#

Позвольте мне прояснить еще одно обстоятельство, связанное с переменной PATH: значение "$PATH". С помощью этого в мою новую PATH добавляется значение переменной PATH, которое было установлено ранее..

- 114 -

Но где могла быть установлена та, старая, переменная? Файл /etc/profile служит, как бы, в качестве глобального .bash_profile, который является общим для всех пользователей. Имея такой централизованный файл, системному администратору становится гораздо проще добавить новую директорию в переменную PATH каждого пользователя, или что-нибудь подобное, без необходимости проделывать это индивидуально каждому. Если включаете старое значение в вашу новую переменную, вы никогда не потеряете те директории, которые система уже установила для вас.

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

export PS1='$PWD# '

Как вы заметили, на самом деле здесь используются две переменные. Одна, та, которая устанавливается, это PS1, а другая, значение которой используется, это PWD, которую можно расшифровать как "Print Working Directory" или как "Path to Working Directory". Но взятие значения PWD происходит внутри одинарных кавычек. Они служат для того, чтобы вычислить выражение внутри них, которое само вычисляет значение переменной PWD. Если бы мы просто выполнили команду export PS1=$PWD, то приглашение все время высвечивало бы тот каталог, в котором произошла установка PS1. Это все, конечно, немного запутано и не так уж важно. Просто имейте в виду, что вам необходимо поставить '', если вы хотите, чтобы текущая директория постоянно отображалась в вашем приглашении.




Начало  Назад  Вперед