Перенаправление вывода во ввод
Можно перенаправить вывод в документы ввода.
Если команда введена в следующем формате:
команда << конец_вводагде конец_ввода - это
любая строка, не содержащая символы подстановки, то оболочка будет
рассматривать все последующие строки в качестве стандартного ввода
для команды, пока не будет считана еще одна
строка конец_ввода (перед ней могут быть
указаны символы табуляции). Строки, введенные между первой и второй последовательностью конец_ввода, часто называются внутренним вводом или документом ввода с консоли. Если за символами перенаправления << указан дефис (-),
оболочка удаляет в каждой строке документа ввода с консоли начальные символы табуляции перед
тем, как передать строку команда.
Оболочка создает временный файл, содержащий документ ввода с консоли, подставляет в тексте
документа необходимые значения вместо переменных и команд, и только затем передает его на вход команде. Вместо шаблонов, указанных в командной строке вместе с командой, подставляются
реальные имена файлов. Для того чтобы запретить все подстановки, укажите конец_ввода следующим образом:
команда << \конец_вводаДокумент ввода с консоли удобно применять тогда, когда входные данные
занимают небольшой объем. В этом случае удобнее ввести эти данные с помощью процедуры оболочки, а не сохранять в
отдельном файле (например, с помощью редактора). Например, введите в командной строке:
cat <<- xyz
Это сообщение будет показано на
экране без начальных пробелов.
xyz