Когда я запускаю определенные программы из командной строки, такие как eclipse и просмотрщик документов в 11.10, он извергает массу информации, которая кажется несущественной.
Также, когда они работают в фоновом режиме, они иногда продолжают выводить данные на терминал, над которым я сейчас работаю, что раздражает.
Я хотел бы, чтобы они просто запускались и держали фоновые вещи в фоновом режиме. Я рассуждаю так: если вы запускаете эти программы через графический интерфейс (например, двойной щелчок по значку), эти сообщения мне никогда не показываются, поэтому они мне не нужны в командной строке.
command-line
Anake
источник
источник
Ответы:
Если вы можете избежать записи чего-либо в консоли, это зависит от того, как создается вывод из программы. Если он передается на стандартный вывод, то этого достаточно
и никакой вывод не должен быть сделан.
Для подавления сообщений об ошибках также:
Или в bash, просто:
Но если они делают это как-то по-другому, то может быть проблемой остановить их запись в консоли.
если возможно, используйте решение, данное MuffinStateWide
источник
eclipse 2&>1 >/dev/null
чтобы избавиться отstderr
. По умолчанию только перенаправленияstdout
. И нет «другого» способа сделать это, если вы удалите и stdout, и stderr в пустоту, не будет никакого выхода.eclipse &> /dev/null
. Это ловит как stdin, так и stderr в точку перенаправления (в bash)Вы можете создать функцию bash, которая будет псевдонимом имени команды и добавит некоторые дополнительные функции для достижения того, что вы просите.
Например: допустим, вы хотите запустить
gvim
(текстовый редактор GUI) из командной строки.Вы могли бы написать такую функцию:
(добавьте эту функцию в ваш файл
.bashrc
или.bash_aliases
файл, чтобы она всегда загружалась)Объяснение:
это будет псевдонимом
gvim
команды с функцией bash, также названнойgvim
(поэтому, когда выgvim
набираете в приглашении bash, она будет вызывать вашуgvim
функцию, а не выполнять настоящуюgvim
команду. Затем ваша функция вызывает реальнуюgvim
команду (и принимает ее обычные аргументы), с некоторые дополнительные функции:/dev/null
(подавляет вывод на терминал)&
для запуска команды в фоновом режиме (чтобы ваша оболочка не блокировалась)disown
для удаления фонового задания из оболочки (чтобы оно не отображалось в списке активных заданий)nohup
для отсоединения процесса от терминала (чтобы вы могли завершить сеанс оболочки или закрыть свой терминал, не прерывая процесс)источник
попробуйте добавить --help в качестве командного переключателя и посмотрите «тихо», это должно подавить вывод, или просто запустить из GUI. и запустить с переключателем или найти способ подавить его с помощью сценария
лично я запускаю из cli, чтобы получить этот вывод, так что я не уверен, что это возможно для всех приложений с графическим интерфейсом.
источник