В Bash есть три стандартных потока ввода-вывода, каждый из которых выполняет свою функцию: selectel.ru interface31.ru
- stdin (standard input, 0) — стандартный ввод, по умолчанию нацелен на устройство ввода текущей консоли (клавиатура). interface31.ru Из этого потока команда может только считывать данные. selectel.ru
- stdout (standard output, 1) — стандартный вывод, по умолчанию нацелен на устройство вывода текущей консоли (экран). interface31.ru В этот поток программа отправляет результат своей работы. interface31.ru
- stderr (standard error, 2) — стандартный вывод ошибок, специальный поток для вывода сообщения об ошибках, также направлен на текущее устройство вывода (экран). interface31.ru В этот поток выводятся все сообщения об ошибках и те информативные сообщения о ходе работы программы, которые не могут быть выведены в стандартный поток вывода. sys.academy.lv
Таким образом, разница между потоками в том, что stdin предназначен для ввода данных, stdout — для вывода, а stderr — для ошибок.