UNIX — универсальная среда программирования | страница 36



). Например, строкой ниже к стандартному пути поиска добавляется >/usr/games:

>PATH=.:/bin:/usr/bin:/usr/games/ Один способ…

Синтаксис может показаться вам несколько странным: последовательность имен каталогов разделяется двоеточием. Напоминаем, что обозначает текущий каталог. Можно опустить имя >'.', пустой компонент в >PATH обозначает текущий каталог.

Другой способ установить значение >PATH — просто добавить к предыдущему значению

>PATH=$PATH:/usr/games … Другой способ

Можно получить значение любой переменной интерпретатора, предварив ее имя символом >$. В приведенном примере выражение >$PATH выбирает текущее значение, к которому добавляется новый компонент, и результат вновь присваивается >PATH. Можно проверить это с помощью команды >echo:

>$ echo PATH is $PATH

>PATH is :/bin:/usr/bin:/usr/games

>$ echo $HOME Ваш начальный каталог

>/usr/you

>$

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

>PATH=:$HOME/bin:/bin:/usr/bin:/usr/games

Вопрос создания своих собственных команд мы обсудим в гл. 3.

Существует еще одна переменная, часто используемая текстовыми редакторами, более популярными, чем >ed, — >TERM, которая указывает тип используемого терминала. Эта информация позволяет программам более эффективно работать с экраном. Поэтому можно в >.profile добавить, например, следующее:

>TERM=adm3

Можно применять переменные и для сокращения записи. Если вам часто приходится ссылаться на каталог с длинным именем, имеет смысл добавить строку типа

>d=/horribly/long/directory/name

к файлу >.profile, чтобы использовать:

>$ cd $d

Ваши собственные переменные, скажем >d, по традиции обозначаются строчными буквами, что позволяет отличить их от тех, которые, как >PATH, использует сам интерпретатор.

Наконец, вы должны сообщить интерпретатору, что будете использовать некоторые переменные в других программах; для этого служит команда >export, к которой мы вернемся в гл. 3:

>export MAIL PATH TERM

Подводя итоги, покажем, как может выглядеть типичный файл >.profile:

>$ cat .profile

>stty erase '^h' -tabs

>MAIL=/usr/spool/mail/you

>PATH=:$HOME:/bin:/usr/bin:/usr/games

>TERM=adm3

>b=$HOME/book

>export MAIL PATH TERM b

>date

>who | wc -l $

Мы еще далеко не полностью перечислили возможности интерпретатора. В частности, можно создать собственные команды, собрав в файле уже существующие команды, и в данном случае уже будут интерпретироваться команды из этого файла. Удивительно, как многого можно добиться с помощью такого в основе своей простого средства. Мы рассмотрим его в гл. 3.