Когда я запускаю определенные программы из командной строки, такие как eclipse и средство просмотра документов в 11.10, он выводит на экран информацию, которая кажется несущественной.
Также, когда они запускаются в фоновом режиме, они иногда продолжают выводить вывод на терминал, над которым я сейчас работаю, что раздражает.
Я бы хотел, чтобы они просто запускали и сохраняли фоновый материал в фоновом режиме. Мое рассуждение состоит в том, что если вы запускаете эти программы через графический интерфейс (например, двойным щелчком по значку), эти сообщения мне никогда не показываются, поэтому я не нуждаюсь в них в командной строке.
Вы можете создать функцию bash, которая будет содержать имя команды и добавить дополнительные функции для достижения того, что вы просите.
Например: допустим, вы хотите запустить gvim (gui текстовый редактор) из командной строки.
вы могли бы написать такую функцию:
function gvim () {
nohup gvim "$@" > /dev/null 2>&1 & disown
}
(добавьте эту функцию в ваш файл .bashrc или .bash_aliases, чтобы он был всегда загружается)
Объяснение:
это будет означать команду gvim с функцией bash, также названной gvim (поэтому, когда вы вводите gvim в приглашении bash, это вызовет вашу функцию gvim вместо выполнения реальной команды gvim. Затем ваша функция вызывает реальную команду gvim (и принимает ее обычные аргументы) с некоторыми дополнительными функциями: перенаправляет stdout и stderr на /dev/null ( подавляет вывод на терминал) использует & для запуска команды в фоновом режиме (поэтому ваша оболочка не заблокирована) использует disown для удаления фонового задания из оболочки (поэтому она не будет отображаться в списке активных заданий) использует nohup для отсоединения процесса от терминала (так вы можете завершить сеанс оболочки или закрыть свой терминал, не убивая процесс)попробуйте добавить --help в качестве командного переключателя и искать «тихий», это должно подавлять вывод или просто запускать из графического интерфейса. и запускать с помощью коммутатора или найти способ его подавить с помощью скрипта
лично я запускаю из cli, чтобы получить этот вывод, поэтому я не уверен, что это возможно для всех графических приложений.