Брайан Керниган - UNIX — универсальная среда программирования

Здесь есть возможность читать онлайн «Брайан Керниган - UNIX — универсальная среда программирования» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 1992, ISBN: 1992, Издательство: Финансы и статистика, Жанр: ОС и Сети, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

UNIX — универсальная среда программирования: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «UNIX — универсальная среда программирования»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями
.
Для программистов-пользователей операционной системы UNIX.

UNIX — универсальная среда программирования — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «UNIX — универсальная среда программирования», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

whatдля запуска whoи ps -а, чтобы сообщить, кто работает в системе и что он делает;

whereдля вывода идентифицированного названия используемой системы UNIX. Это удобно, если вы постоянно работаете с несколькими версиями. (Установка PS1служит для подобной цели.)

Упражнение 3.9

Просмотрите каталоги /binи /usr/bin, чтобы выяснить, как много команд являются в действительности командными файлами. Можно ли это сделать с помощью одной команды? Подсказка: посмотрите file(1). Насколько точно предположение, основанное на длине файла?

3.4 Аргументы и параметры команд

Хотя команда nu, как она задумывалась, удовлетворяет своему назначению, многие программы на языке shellмогут обрабатывать аргументы, так что при их запуске можно задавать имена файлов и флаги.

Допустим, вы хотите создать программу с именем cxдля установки права доступа к файлу на выполнение, так что

$ cx nu

есть сокращенная запись для

$ chmod +x nu

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

chmod +x filename

Единственное, что требуется выяснить — как сообщить команде cxимя файла, так как при каждом запуске cxоно будет иным.

Если интерпретатор выполняет командный файл, то каждое вхождение $1заменяется первым аргументом, каждое вхождение $2 — вторым и т.д. до $9. Поэтому если файл cxсодержит строку

chmod +x $1

то при выполнении команды

$ cx nu

порожденный интерпретатор заменит " $1" на первый аргумент " nu". Рассмотрим всю последовательность операций:

$ echo 'chmod +x $1' >cx Вначале создадим cx

$ sh cx сх Сделать сам файл cx выполняемым

$ echo echo Hi, there! >helloПриготовим тест

$ hello Попробуем

hello: cannot execute

$ cx hello Сделаем файл выполняемым

$ hello Попробуем снова

Hi, there! Работает

$ mv cx /usr/you/bin Установим команду cx

$ rm hello Уберем ненужное

$

Заметьте, что мы задали

$ sh cx сх

в точности так, как сделал бы автоматически интерпретатор, если бы cxбыла выполняемой и можно было бы задать

$ cx сх

А как быть, если нужно работать с несколькими аргументами, например, заставить программу cxвоздействовать сразу на несколько файлов? Прямолинейное решение состоит в том, чтобы включить девять аргументов в командный файл:

chmod +x $1 $2 $3 $4 $5 $6 $7 $8 $9

(Это годится только для девяти аргументов, так как конструкция $10распознается как "первый аргумент, за которым следует 0"!) Если пользователь такого командного файла задаст меньше девяти аргументов, то недостающие окажутся пустыми строками. Это приведет к тому, что только настоящие аргументы будут переданы chmodпорожденным интерпретатором. Такое решение, конечно, приемлемо, но не вполне корректно и не подходит для случая с числом аргументов более девяти.

С учетом упомянутой выше трудности интерпретатор предоставляет сокращенную запись $*, означающую "все аргументы". В этом случае правильно определить cx:

chmod +x $*

что является эффективным при любом числе аргументов.

Используя $*в своем репертуаре, вы можете создать некоторые полезные командные файлы, такие, как lcили m:

$ cd /usr/you/bin

$ cat lc

#lc: подсчет числа строк в файлах

wc -l $*

$ cat m

#m: точный способ послать почту

mail $*

$

Обе команды можно осмысленно использовать и без аргументов. Если нет аргументов, $*будет пустым, и wcи mailвообще не получат никаких аргументов. С аргументами или без них команда вызывается правильно:

$ lc /usr/you/bin/*

1 /usr/you/bin/cx

2 /usr/you/bin/lc

2 /usr/you/bin/m

1 /usr/you/bin/nu

2 /usr/you/bin/what

1 /usr/you/bin/where

9 total

$ ls /usr/you/bin | lc

6

$

Эти и другие команды, описываемые в настоящей главе, являются командами пользователя, т.е. вы создаете их для себя и помещаете в свой каталог /bin, поэтому вряд ли они должны стать общедоступными. В гл. 5 мы исследуем вопрос создания общедоступных программ на языке shell.

Аргументами командного файла не обязательно должны быть имена файлов. Рассмотрим в качестве примера поиск в каталоге, где хранится личный телефонный справочник. Если у вас есть файл с именем /usr/you/lib/phone-book, содержащий строки следующего вида:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «UNIX — универсальная среда программирования»

Представляем Вашему вниманию похожие книги на «UNIX — универсальная среда программирования» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «UNIX — универсальная среда программирования»

Обсуждение, отзывы о книге «UNIX — универсальная среда программирования» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x