"Рас Сэйдж. Приемы профессиональной работы в UNIX" - читать интересную книгу авторапеременная установлена для вас системой, но данный пример показывает,
как вы можете установить ее вручную. Строка 11 инициализирует переменную HOME. Она тоже устанавлива- ется для вас системой, но мы хотим показать, как делать эти вещи осоз- нанно, а не по умолчанию. Сначала мы ищем в файле паролей запись, соответствующую переменной LOGNAME. Мы ищем от начала строки имя, ко- торое завершается символом :, чтобы убедиться, что найдено только кор- ректное соответствие имени пользователя. Затем вся запись посылается команде cut, которая вырезает шестое поле - регистрационный каталог. Преимущество такой стратегии в том, что регистрационный каталог авто- матически меняется, если меняется запись в файле /etc/passwd. Строка 12 инициализирует переменную MAIL. Определяя MAIL, вы ука- зываете, что вы должны быть уведомлены о посылке вам новой почты, если вы находитесь в режиме on line. Строка 13 экспортирует эти переменные, так что они доступны нам в порожденных интерпретаторах shell. Строки 15-24 определяют все каталоги первого уровня в нашем ре- гистрационном каталоге. Большинство имен состоят из двух букв, некото- рые из трех. Теперь мы можем применять команды такого вида: $ cd $HD $ ls -R $HSR $ cu -ltty00 dir | tee $HBB/board/session$$ Строка 25 присваивает переменной HDIRS все имена каталоговых пе- ременных, что облегчает подключение всех каталогов без повторного вво- используемого дискового пространства: $ for DIR in $HDIRS > do > echo "disk usage for $DIR: `du -s $DIR`" > done Строка 26 экспортирует переменные так, чтобы мы могли всегда их использовать. Отметим, что мы экспортировали $HDIRS и HDIRS. Перед тем, как выполнить экспортирование, $HDIRS было распространено на все различные имена переменных. Следовательно, фактически мы экспортирова- ли все имена плюс саму переменную HDIRS. Строка 28 инициализирует P так, чтобы это был ваш каталог в PUBDIR, то есть /usr/spool/uucppublic. Теперь у нас есть простой способ ссылаться на наши файлы при работе с командой uucp. Строка 30 устанавливает CDPATH. Это путь, который проверяется, когда вы выполняете команду cd. Сначала проверяется текущий каталог (.) на предмет того, есть ли в нем имя каталога, в который вы хотите попасть. Затем проверяется .. (родительский каталог). После этого просматривается ваш регистрационный каталог. Последним назначением CDPATH является $HDIRS, что подключает имена всех подкаталогов. Цель этих имен - позволить команде cd искать в соответствующем каталоге введенное вами имя. Например, если бы вы были в /etc и набрали "cd doc", вы бы попали |
|
|