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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Различные специальные символы, интерпретируемые shell, такие, как <, >, |, ;и &, не являются аргументами команд, запускаемых интерпретатором. Они управляют самим процессом запуска. Например,

$ echo Hello > junk

требует, чтобы интерпретатор запустил команду echoс одним аргументом Helloи поместил выходной поток в файл junk. Строка > junkне является аргументом команды echo; она интерпретируется shell, и echoникогда ее "не увидит". На самом деле, данная строка может и не быть последней в командной строке:

$ > junk echo Hello

Это идентичный запуск, хотя и менее очевидный.

Упражнение 3.1

В чем состоит различие между следующими командами?

$ cat file | pr

$ pr

$ pr file

(С течением времени операция переключения <потеряла свою связь с программными каналами; " cat file |" считается более естественным, чем " < file".)

3.2 Метасимволы

Интерпретатор распознает еще ряд символов как специальные. Наиболее часто используется звездочка *, указывающая, что нужно искать в каталоге имена файлов, у которых вместо *может быть любая последовательность символов. Например,

$ echo *

есть не что иное, как некое подобие команды ls. В гл. 1 мы не отметили, что во избежание проблем с именами '.'и '..', которые присутствуют в любом каталоге, символы подстановки в именах файлов нельзя применять к именам файлов, начинающимся с точки. Правило таково: символы подстановки в именах файлов действуют на имена файлов, начинающихся с точки, только в том случае, если точка явно задана в шаблоне. Как обычно, "рассудительная" команда echoпрояснит ситуацию:

$ ls

.profile

junk

temp

$ echo *

junk temp

$ echo .*

. .. .profile

$

Символы со специальным значением, подобные *, называются метасимволами . Существует множество метасимволов (в табл. 3.1 приводится их полный список, но некоторые символы мы обсудим только в гл. 5).

> prog > file— переключить стандартный выходной поток в файл
>> prog >> file— добавить стандартный выходной поток к файлу
< prog < file— извлечь стандартней выходной поток из файла
| p1 | p2— передать стандартный выходной поток p1как стандартный выходной поток для p2
< "Документ здесь": стандартный выходной поток задается в последующих строках до строки, состоящей из одного символа str
* Задает любую строку, состоящую из нуля или более символов, в имени файла
? Задает любой символ в имени файла
[ccc] Задает любой символ из [ccc]в имени файла (допустимы диапазоны, такие, как 0-9или a-z)
; Завершает команды: p1; p2— выполнить p1, затем p2
& Выполняет аналогичные функции, но не ждет окончания p1
`...` Инициирует выполнение команд(ы) в ...; `...`заменяется своим стандартным выводом
(...) Инициирует выполнение команд(ы) в ...в порожденном shell
{...} Инициирует выполнение команд(ы) в ...в текущем вызове shell (используется редко)
$1, $2, ... Заменяются аргументами командного файла
$var Значение переменной varв программе на языке shell
${var} Значение var; исключает коллизии в случае конкатенации переменной с последующим текстом (см. также табл. 5.3)
\ \c— использовать непосредственно символ c, \перевод строки отбрасывается
'...' Означает непосредственное использование
"..." Означает непосредственное использование, но после того, как $, `...`и \будут интерпретированы
# В начале слова означает, что вся остальная строка рассматривается как комментарий (но не в седьмой версии)
var=value Присваивает valueпеременной var
p1 && p2 Предписывает выполнить p1; в случае успеха выполнить p2
p1 || p2 Предписывает выполнить p1; в случае неудачи выполнить p2

Таблица 3.1: Метасимволы shell

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

Интервал:

Закладка:

Сделать

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

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


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

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

x