Приемы профессиональной работы в UNIX


ПОСТРОЧНЫЙ РАЗБОР ПРИМЕРА ФАЙЛА НАСТРОЙКИ - часть 2


Строка 10 присваивает переменной LOGNAME выход команды logname(1). Команда logname - это обычная команда системы UNIX, которая печатает ваше регистрационное имя из файла /etc/passwd. Обычно эта переменная установлена для вас системой, но данный пример показывает, как вы можете установить ее вручную.

Строка 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.




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