Как я могу скрыть вывод на экран (printf) приложения оболочки в Linux?
Вы можете перенаправить вывод любой программы, чтобы его не было видно.
$ program > /dev/null
Это перенаправит стандартный вывод - вы все равно увидите ошибки
$ program &> /dev/null
Это перенаправит весь вывод, включая ошибки.
В командной строке доступны три устройства ввода-вывода.
standard input - 0
standard output - 1
standard error - 2
Чтобы перенаправить стандартный вывод (вывод по умолчанию) в файл (и перезаписать файл), используйте
command > file.log
Чтобы добавить в file.log, используйте два >
s
command >> file.log
Чтобы перенаправить стандартную ошибку в file.log, используйте
command 2> file.log
И добавить
command 2>> file.log
Объединить выходные данные в один поток и отправить их все в одно место
command > file.log 2>&1
Это отправляет 2 (стандартная ошибка) в 1 (стандартный вывод) и отправляет стандартный вывод в file.log
Обратите внимание, что также можно перенаправить стандартный ввод в команду, которая ожидает стандартный ввод.
command << file.txt
Для получения дополнительных сведений ознакомьтесь с Расширенное руководство по сценариям Bash.
Скрыть стандартный вывод:
./command >/dev/null
Скрыть стандартный вывод и стандартную ошибку:
./command >/dev/null 2>&1
Скрыть стандартный вывод и стандартный вывод ошибок и освободить терминал (запустите команду в фоновом режиме):
./command >/dev/null 2>&1 &
Если вы просто хотите скрыть вывод (а не сохранять его в файл), вы можете использовать:
Отредактировано:
$ команда &> / dev / null
Для Mac OS X v10.6 (Снежный барс):
Если вам нужно скрыть вывод, не сообщая об этом программе, проверив дескриптор файла вывода / ошибки, вы можете попробовать использовать в оболочке следующее:
stty flusho; command ;stty -flusho
или если вы просто хотите, кстати, скрыть ввод с терминала:
stty -echo; command ;stty echo
См. Дополнительную информацию на странице руководства stty (1).
Что касается Linux, все, что я знаю, это то, что Ubuntu 10.04 (Lucid Lynx) и некоторые Debian / Arch Linux (прокомментированные ниже - спасибо, Хендри) не имеют flusho
(и я не вижу ничего другого подходящего на странице руководства). В echo
настройка в любом случае работает на Ubuntu.