Служба поддержки:
Реквизиты оплаты:





Голосование
Реклама от Google:
Гл. 7. Команды и оболочка 121
16.06.2012 05:26
|
Поражен страшной файловой молью Таким образом, создается впечатление, что содержимое всех его файлов затерто этим дурацким сообщением. На самом деле мы просто переопределили для Дадли команду cat на echo Поражен страшной файловой молью Поскольку маршрут поиска Дадли проходит через его каталог bin раньше, чем через каталоги встроенных команд (как мы полагаем), то будет распознаваться новая команда cat, а не истинная. Идея, проиллюстрированная этим примером, заключается, следовательно, в том, что вы можете, если захотите, переопределить существующие команды UNIX — хотя обычно это делается для своей собственной выгоды, а не для розыгрыша друзей. Язык программирования оболочки Оболочка на самом деле предлагает довольно развитый язык программирования и поддерживает большинство языковых понятий, с которыми вы имели дело, если использовали, скажем, язык Бейсик. В частности, в языке оболочки имеются переменные, операторы присваивания, условные операторы, циклы и т. д. Эта тема находится вне сферы данной книги, но, возможно, вас заинтересует следующий пример, демонстрирующий стиль программирования на языке оболочки. Уровень детализации в этом примере такой, что этот пример больше связан с оболочкой Б аур на, а не с оболочкой С. if test X$1 = X—w then shift usr/bin/spell $* else /usr/bin/spell —b $* fi Эта новая команда реализует (realizes) мечту, или, точнее, осуществляет (realises) мечту. Эта наша новая команда spell с английским правописанием. Она находится в файле с именем spell в нашем каталоге bin и тем самым перекрывает старую с изъянами программу spell, расположенную в каталоге /usr/bin. Программы оболочки могут ссылаться на аргументы текущей команды. К первому аргументу обращаются в виде $1, ко второму — в виде $2 и т. д.; запись вида $* означает все аргументы. Первая строка программы проверяет, является ли |