ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП |
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы. |
2.8.1 Стандартный вход и стандартный выходМногие команды UNIX получают информацию с так называемого стандартного входа и посылают информацию на (опять же) так называемый стандартный выход. (Для них часто используются сокращения ``stdin'' и ``stdout'' соответственно). Ваш shell организует дело так, что стандартным входом служит клавиатура, а стандартным выходом - экран.Вот пример использования команды cat. Нормально cat читает данные из файлов, чьи имена даны в командной строке и посылает эти данные прямехонько на stdout. Поэтому при выполнении команды на экран пойдет файл history-final, а за ним следом masters-thesis./home/larry/papers# cat history-final masters-thesis Но если команде cat не даны имена файлов в качестве параметров, она читает данные с stdin и опять же посылает на stdout. Вот пример. Как видите, каждая строка, которую напечатал пользователь, немедленно выдается командой cat на экран. При вводе со стандартного входа команда знает, что ввод закончен тогда, когда она получит в каком-то виде сигнал EOT (End-Of-Text). Обычно он обеспечивается нажатием/home/larry/papers# cat Hello there. Hello there. Bye. Bye. [ctrl-D] /home/larry/papers# Вот другой пример. Команда сортировки sort читает построчно текст (здесь опять с stdin, поскольку имена файлов в параметрах не указаны, и посылает отсортированный результат на stdout. Попробуйте так. Теперь мы можем упорядочить наш список продуктов, подлежащих закупке, в лексикографическом порядке... ну разве UNIX не полезная вещь?/home/larry/papers# sort bananas carrots apples [ctrl-D] apples bananas carrots /home/larry/papers# |