Перенаправление вывода во ввод

Можно перенаправить вывод в документы ввода.

Если команда введена в следующем формате:

команда << конец_ввода

где конец_ввода - это любая строка, не содержащая символы подстановки, то оболочка будет рассматривать все последующие строки в качестве стандартного ввода для команды, пока не будет считана еще одна строка конец_ввода (перед ней могут быть указаны символы табуляции). Строки, введенные между первой и второй последовательностью конец_ввода, часто называются внутренним вводом или документом ввода с консоли. Если за символами перенаправления << указан дефис (-), оболочка удаляет в каждой строке документа ввода с консоли начальные символы табуляции перед тем, как передать строку команда.

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