Bash - командный интерпретатор GNU Bourne


ПЕРЕНАПРАВЛЕНИЕ


Перед выполнением команды ее входной и выходной потоки могут быть перенаправлены с помощью специальных конструкций, обрабатываемых командным интерпретатором. Перенаправления также можно использовать для открытия и закрытия файлов в текущей среде работы командного интерпретатора. Следующие операторы перенаправления могут предшествовать простой команде или указываться в любом ее месте, или указываться после команды. Перенаправления обрабатываются в порядке их указания, слева направо.

В следующих описаниях если номер дескриптора файла не указан и первый символ оператора перенаправления - <, выполняется перенаправление стандартного входного потока (дескриптор файла 0). Если же первым символом оператора перенаправления является символ >, выполняется перенаправление стандартного выходного потока (дескриптор файла 1).

В слове, идущем за оператором перенаправления в следующих описаниях, если не сказано иначе, выполняется подстановка фигурных скобок, замена тильды, подстановка значений параметров, подстановка результатов выполнения команд, вычисление арифметических выражений, удаление кавычек и подстановка имен файлов. Если в результате получается более одного слова, командный интерпретатор bash выдает сообщение об ошибке.

Учтите, что порядок указания перенаправлений имеет значение. Например, команда

ls > dirlist 2>&1

перенаправляет в файл dirlist стандартный выходной поток и стандартный поток ошибок, тогда как команда

ls 2>&1 > dirlist

перенаправляет в файл dirlist только стандартный выходной поток, поскольку стандартный поток ошибок был направлен туде же, куда и стандартный выходной поток до его перенаправления в файл dirlist.

Ошибка при открытии или создании файла приводит к отмене перенаправления.



Содержание раздела