Как скрыть вывод на экран (printf) оболочки приложения в Linux?
Как скрыть вывод на экран (printf) оболочки приложения в Linux?
Ответы:
Вы можете перенаправить вывод любой программы, чтобы он не был виден.
$ program > /dev/null
Это перенаправит стандартный вывод - вы все равно увидите ошибки
$ program &> /dev/null
Это перенаправит все выходные данные, включая ошибки.
wget
вы можете использовать -q
параметры, чтобы сделать это тихо.
В командной строке доступно три устройства ввода-вывода.
standard in - 0
standard out - 1
standard error - 2
Чтобы перенаправить стандартный вывод (вывод по умолчанию) в файл (и перезаписать файл), используйте
command > file.log
Чтобы добавить файл file.log, используйте 2> s
command >> file.log
чтобы перенаправить стандартную ошибку в файл file.log, используйте
command 2> file.log
и добавить
command 2>> file.log
Объединить результаты в один поток и отправить их все в одно место.
command > file.log 2>&1
Это отправляет 2 (stderr) в 1 (stdout) и отправляет stdout в file.log
Обратите внимание, что также возможно перенаправить стандарт в команду, ожидающую стандартного ввода.
command << file.txt
РЕДАКТИРОВАТЬ
Для более подробной информации, ознакомьтесь с Advanced Bash Scripting Guide
command > file.log 2>&1
работает?
> file
а вторая есть 2>&1
. Первый перенаправляет стандарт в файл. Второй берет второй файловый дескриптор и перенаправляет его на первый. Вы можете сделать обратное, перенаправить стандартный вывод на стандартную ошибку, >&2
а затем перенаправить стандартную ошибку в файл с помощью 2> file
.
Если вы просто хотите скрыть вывод (а не сохранить его в файл), вы можете использовать:
Отредактировано:
$ command &> / dev / null
Для Mac OS X (10.6 «Снежный барс»):
Если вам нужно скрыть вывод, не сообщая программе об этом, проверив дескриптор файла вывода / ошибки, вы можете попробовать использовать в оболочке следующее:
stty flusho; command ;stty -flusho
или если вы просто хотите скрыть ввод из терминала, кстати:
stty -echo; command ;stty echo
Смотрите stty (1) справочную страницу для получения дополнительной информации
Для Linux все, что я знаю, это то, что Ubunutu (10.04 "Lucid") и некоторые "Debian / Arch" (прокомментировано ниже - tnx hendry) не имеют flusho
настройки (и я не вижу ничего другого подходящего на man-странице) , echo
Установка работает на Ubuntu в любом случае.