Шрифт:
Программирующие на языке
В табл. 3.2 перечислены различные виды переключения ввода-вывода, допускаемые интерпретатором.
> файл | Переключение стандартного выходного потока в файл |
>> файл | Добавление стандартного выходного потока в файл |
< файл | Получение стандартного выходного потока из файла |
p1 | p2 | Передача стандартного выходного потока программы p1 в качестве входного потока для программы p2 |
^ | Устарелый синоним | |
n> файл | Переключение выходного потока из файла с дескриптором n в файл |
n>> файл | Добавление выходного потока из файла с дескриптором n в файл |
n>&m | Слияние выходных потоков файлов с дескрипторами n и m |
<<s | "Документ здесь": берется стандартный входной поток до строки, начинающейся с s ; выполняется подстановка для $ , `...` и \ |
<<\s | "Документ здесь" без подстановки |
<<'s' | "Документ здесь" без подстановки |
Таблица 3.2: Переключение ввода-вывода интерпретатора
Сравните версии программы 411: использующую "документ здесь" и первоначальную. Какую легче сопровождать? Какая более подходит в качестве основы общего служебного средства?
3.8 Циклы в shell-программах
Язык
Типичным считается цикл по последовательности имен файлов, и оператор
Например, для получения эха имен файлов по одному на строке достаточно задать:
Вместо
Выходной поток направлен по конвейеру через команды
Мы предпочитаем указанный формат для цикла
Следует использовать цикл
Предпочтительнее сделать так:
поскольку в цикле
в которой цикл выполняется по всем именам файлов текущего каталога, и