Как действительно скрыть вывод терминала? - proUbuntu
Купить гитару в Москве
6 голосов
/

Я знаю, что для запуска приложения и продолжения работы на терминале в конец команды ставится & (например, emacs&)
Но некоторые команды продолжают печатать на терминале, как это

Так как же на самом деле держать команду в тихом состоянии на терминале?

1 Ответ

12 голосов
/

То, что вы видите, это ошибки, которые печатаются в stderr (стандартная ошибка). По умолчанию stderr выводится на терминал, используемый для запуска программы. Мы можем легко изменить это, чтобы указать на / dev / null, который в основном является черной дырой. Это устройство, которое ничего не делает, поэтому, когда вы пишете на него, на самом деле ничего не происходит. Следующая команда перенаправит ВСЕ выходные данные (stderr и stdout) в / dev / null, а затем вернет вам ваш терминал.

firefox &> /dev/null &

&> - это перенаправитель, /dev/null - это то место, куда мы перенаправляем, а последнее & означает «задний план» процесса, поэтому мы можем вернуть наш терминал обратно. Кстати, если вы когда-нибудь захотите вернуть фоновую программу обратно в терминал, вы можете использовать команду fg (сокращение от переднего плана), чтобы вернуть ее обратно.

...