ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП |
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы. |
2.13.2 Перемещение shell и средаShell позволяет определять переменные, как и большинство языков программирования. Переменная - это порция данных, которой дано имя.ВНИМАНИЕ! Имейте в виду, что Tcsh, также, как и C shell, используют различные механизмы определения переменных, отличающиеся от используемых здесь. Здесь обсуждается shell Баурна. Когда вы присвоите значение переменной (используя оператор ``='' ), вы сможете получить это значение, добавив перед именем переменной символ ``$'', как это показано ниже /home/larry# foo=``hello there'' Переменной foo присвоено значение ``hello there''. Теперь вы можете обратиться к этой переменной, добавив перед именем символ ``$''. Команда дает тот же самый результат, что и/home/larry# echo $foo hello there /home/larry# Эти переменные являются внутренними для shell. Это означает, что только shell имеет доступ к этим переменным. Это может быть полезно для сценариев; если вам надо сохранить информацию о имени файла, вы, например, можете поместить его в переменную. Команда set может показать вам перечень всех определенных переменных shell./home/larry# echo ``hello there'' hello there /home/larry# Shell позволяет
экспортировать переменные в среду. Среда - это множество
переменных, к которым могут иметь доступ все выполняемые команды. Определив
однажды переменную внутри shell ВНИМАНИЕ! Здесь вновь есть отличие между Bash и Tcsh. При использовании Tcsh используется другой синтаксис для помещения переменных в среду (используется команда setenv). Дополнительную информацию можно найти в Руководстве по Tcsh. Среда очень важна в системах UNIX. Она позволяет конфигурировать некоторые команды за счет установки переменных, о которых знают команды. Вот небольшой пример. Переменная среды PAGER используется командой man. Она указывает команду, которая используется в свою очередь командой man для просмотра Руководства на экране. Если вы установите в качестве значения PAGER имя другой команды, то эта команда вместо будет обеспечивать просмотр вместо more (которая применялась по умолчанию). Присвойте PAGER значение ``cat''. Выдача на экран руководства будет вся разом, а не поэкранно, как это делала команда more. /home/larry# PAGER=catТеперь экспортируйте PAGER в среду. /home/larry# export PAGERПопробуйте команду man ls. Руководство промелькнет по вашему экрану без (желательных) задержек. Теперь, если присвоить PAGER значение ``more'', то для выдачи на экран будет использоваться команда more. /home/larry# PAGER=moreОбратим внимание на то, что нам не надо заново использовать команду export после изменения значения PAGER. Необходимо только раз экспортировать переменную; любые изменения, которые будут происходить после этого, будут отражаться в среде. Страницы Руководства для конкретных команд содержат информацию о том, использует ли команда какие-то переменные среды. Например, Руководство по команде man говорит о том, что для определения режима выдачи страницы руководства на экран используется переменная PAGER. Некоторые команды совместно используют переменные среды, например, многие команды используют переменную среды EDITOR для указания используемого редактора. Переменные среды используются также для сохранения важной информации о процедуре входа. Например переменная HOME содержит имя вашего домашнего каталога. /home/larry/papers# echo $HOME /home/larryДругая интересная переменная среды - PS1, которая определяет главную подсказки shell. Например, /home/larry# PS1=``Your command, please: '' Your command, please:Для переустановки подсказки обратно в нормальное состояние (когда она показывает текущий рабочий каталог, после которого следует значек ``#''), выполните следующее: Your command, please: PS1=``\w# '' /home/larry#В Руководстве bash есть подробное описание синтаксиса, используемого при установке подсказки. 2.13.2.1
Переменная среды PATH
|