5.7. Файловый ввод–вывод
5.7. Файловый ввод–вывод
При вызове команд можно указывать, откуда следует принимать входные данные и куда необходимо направлять выходные данные, а также сообщения об ошибках. По умолчанию, если не указано иное, подразумевается работа с терминалом: данные вводятся с клавиатуры и выводятся на экран. Но интерпретатор shell располагает механизмом переадресации, позволяющим ассоциировать стандартные потоки с различными файлами. В табл. 5.1 приведены наиболее распространенные операторы переадресации.
Во время перенаправления стандартного потока ошибок следует указывать дескриптор файла (2). Для потоков ввода и вывода делать это не обязательно.
Таблица 5.1. Основные операторы переадресации
команда > файл Направляет стандартный поток вывода в новый файл команда 1> файл Направляет стандартный поток вывода в указанный файл команда >> файл Направляет стандартный поток вывода в указанный файл (режим присоединения) команда > файл 2>&1 Направляет стандартные потоки вывода и ошибок в указанный файл команда 2> файл Направляет стандартный поток ошибок в указанный файл команда 2» файл Направляет стандартный поток ошибок в указанный файл (режим присоединения) команда >> файл 2>&1 Направляет стандартные потоки вывода и ошибок в указанный файл (режим присоединения) команда < файл1 > файл2 Получает входные данные из первого файла и направляет выходные данные во второй файл команда < файл В качестве стандартного входного потока получает данные из указанного файла команда << разделитель Получает данные из стандартного потока ввода до тех пор, пока не встретится разделитель команда <&m В качестве стандартного входного потока получает данные из файла с дескриптором m команда > &m Направляет стандартный поток вывода в файл с дескриптором m