Диагностика и другие виды вывода

Диагностический вывод от команд UNIX обычно направляется в файл, имеющий дескриптор 2. (Часто возникает необходимость иметь файл, куда выводятся сообщения об ошибках, который отличается от стандартного вывода, для того, чтобы сообщения об ошибках не оказались потерянными). Вы можете перенаправить вывод ошибок в файл, указав номер дескриптора файла (2 в нашем случае) непосредственно перед любым из символов переадресации (> или >>). Приводимая ниже команда добавляет сообщения об ошибках от команды cc в файл с именем ERRORS:

cc testfile.c 2>> ERRORS

Обратите внимание на то, что между дескриптором файла и стрелками не должно быть никаких пробелов или символов табуляции - в противном случае число будет передано в качестве аргумента команды.
Этот метод может быть обобщен для осуществления переадресации вывода, связанного с любыми из первых десяти дескрипторов файлов (с номерами от 0 до 9). Например, если вывод командыcmd идет на дескриптор 9, то следующая командная строка перенаправляет этот вывод в файлsavedata:

cmd 9> savedata

Команды как правило генерируют стандартный вывод и вывод ошибок, но могут быть также другие типы вывода, например, файл данных. В этом случае можно независимо друг от друга перенаправить все различные разновидности вывода. Предположим, например, что cmd направляет свой стандартный вывод в файл с дескриптором 1, сообщения об ошибках - в файл с дескриптором 2 и создает файл данных с дескриптором 9. Приводимая ниже команда направляет каждый из этих выводов в различные файлы:

cmd >standard 2> error 9> data

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: