1. Основные понятия языка shell 1.1. Ввод-вывод Три направления ввода-вывода являются выделенными - стандартный ввод, стандартный вывод и стандартный протокол. Как правило, команды берут исходные данные из стандартного ввода и помещают результаты в стандартный вывод. Стандартные ввод, вывод и протокол можно переназначить. Обозначение < служит для переназначения стандартного ввода (дескриптор файла 0), > для стандартного вывода (дескриптор файла 1); << ввод происходит со стандартного ввода, пока не встретится указанная или конец файла, >> для стандартного вывода; если файл существует, то выводимая информация добавляется к конец этого файла, <& в качестве стандартного ввода об(r)является файл, ассоциированный с дескриптором ; аналогично для стандартного вывода >& &- закрывают соответственно стандартный ввод и вывод. Если любой из этих конструкций предшествует цифра, то с указанным файлом будет ассоциирован дескриптор, равный указанной цифре, вместо 0 и 1 по умолчанию. Например, 2 > для стандартного протокола используется дескриптор 2, а 2 >& 1 ассоциирует дескриптор 2 с файлом, ассоциированным с дескриптором 1. ... 2>protocol переназначает стандартный протокол (дескриптор 2) в файл по имени protocol. Чтобы переназначить стандартный протокол туда же, куда уже назначен стандартный вывод, следует употребить конструкцию ... 2>&1 Важен порядок переназначения: shell производит переназначение слева направо по указанному списку. Так, 1 > xxx 2 >& 1 сначала ассоциирует дескриптор 1 с файлом xxx, а затем дескриптор 2 с 1, т.е. тоже с xxx. А 2 >& 1 1 > xxx ассоциирует дескриптор 2 с терминалом, а 1 - с файлом xxx. Можно переназначить системный ввод на текущий файл: isql - - primer Еще пример: запустить программу prog в асинхронном режиме, чтобы не надо было дожидаться его завершения, засечь время выполнения, результаты программы направить в файл prog.res, данные о времени выполнения - в файл prog.tim. time prog > prog.res 2> prog.tim & 1.3. Конвейер Конвейер - последовательность команд, разделенных знаком |. Если после конвейера стоит ; shell ждет его завершения. Если & - то не ждет. Роль ; может играть конец строки. Смысл конвейера в том, что стандартный вывод одной команды замыкается на стандартный ввод другой. Пример конвейера - подсчитать число об(r)ектных файлов в текущем каталоге. ls *.o | wc -l 1.4. Метасимволы, генерация имен файлов Метасимволы - символы, имеющие специальное значение для интерпретатора : ? * ; & ( ) | ^ Однако каждый из этих символов может представлять самого себя, если перед ним стоит \. Все символы, заключенные между кавычками ' и ', представляют самих себя. Между двойными кавычками (") выполняются подстановки команд (см п. 2.2) и параметров (см. п. 2.3), а символы \, `," и $ могут экранироваться предшествующим символом \. После всех подстановок в каждом слове команды ищутся символы *,?, и [. Если находится хотя бы один из них, то это слово рассматривается как шаблон имен файлов и заменяется именами файлов, удовлетворяющих данному шаблону (в алфавитном порядке). Если ни одно имя файла не удовлетворяет шаблону, то он остается неизменным. Значения указанных символов: * любая строка, включая и пустую ? один любой символ [...] любой из указанных между ними символов. Пара символов, разделенных знаком -, означает любой символ, который находится между ними, включая и их самих. Если первым символом после "[" идет "!", то указанные символы не должны входить в имя файла
Рефераты по информатике1. Основные понятия языка shell 1.1. Ввод-вывод Три направления ввода-вывода являются выделенными - стандартный ввод, стандартный вывод и стандартный
Оценок: 282 (Средняя 5 из 5)
Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.
Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.