Linux подавить вывод команды

Как подавить весь вывод команды Bash?

Всякий раз, когда мы запускаем команду Bash на нашем терминале Linux Mint 20, обычно мы видим какой-то вывод на терминале. То же самое для команд, а также для сценариев Bash. Иногда мы можем не захотеть видеть этот результат. Это происходит особенно, когда мы хотим отладить программу и заинтересованы только в обнаружении возникающих ошибок. В этой ситуации, если нам будет представлен весь вывод, он не только будет бесполезен для нас, но и будет тратить наше время на поиск актуальной проблемы.

Вот почему мы предпочитаем подавлять фактический вывод команд или скриптов Bash таким образом, чтобы на терминале отображались только их ошибки (если таковые имеются). В противном случае ничего не будет отображаться. Поэтому сегодня мы поговорим о методе подавления всего вывода команды Bash в Linux Mint 20.

Метод подавления всего вывода команды Bash в Linux Mint 20:

Чтобы объяснить вам метод подавления всего вывода команды Bash в Linux Mint 20, мы хотели бы поделиться с вами некоторыми примерами.

Мы создали простой сценарий Bash, в котором мы просто печатаем случайное сообщение на терминале. Мы будем использовать этот сценарий Bash в Примере №1 и Примере №2. Этот сценарий Bash отображается на прикрепленном изображении. Мы назвали наш файл Bash как Suppress.ш.

Пример №1: Подавление выполнения сценария Bash / Подавление вывода команды «bash»:

Сценарий Bash, который мы только что создали, можно просто запустить с помощью команды «bash». Прежде чем подавлять вывод команды «bash», мы сначала хотели бы показать вам ее фактический вывод. Для этого вам нужно выполнить свой сценарий Bash следующим образом:


Выполнение этого сценария Bash просто отобразит наше фиктивное сообщение на терминале, как показано ниже:

Теперь, чтобы подавить вывод команды «bash», мы запустим следующую команду в нашем терминале:

Читайте также:  Линукс восстановление sd карты

$ bash Подавить.ш> / dev / null


Выполнение процитированной выше команды отправит весь вывод в корзину> / dev / null, и, следовательно, на вашем терминале ничего не будет отображаться, как показано на добавленном ниже изображении:

Пример №2: Подавление вывода команды «cat»:

Мы также можем отобразить содержимое нашего файла сценария Bash на терминале, используя команду «cat». Прежде чем подавлять вывод команды «cat», мы сначала хотели бы показать вам ее фактический вывод. Для этого вам нужно запустить команду «cat» следующим образом:


Выполнение команды «cat» просто отобразит содержимое нашего файла сценария Bash в терминале, как показано ниже:

Теперь, чтобы подавить вывод команды «cat», мы запустим следующую команду в нашем терминале:


При выполнении указанной выше команды весь вывод будет отправлен в корзину> / dev / null, и, следовательно, на вашем терминале ничего не будет отображаться, как показано на изображении ниже:

Пример №3: Подавление вывода команды «-help»:

Если вы хотите узнать подробности об использовании какой-либо команды или пакета в Linux Mint 20, вы можете использовать команду «-help». Прежде чем подавлять вывод команды «-help», мы сначала хотели бы показать вам ее фактический вывод. Для этого вам нужно запустить команду «-help» следующим образом:


Мы хотели получить доступ к справочному руководству редактора nano, которое показано на изображении ниже:

Теперь, чтобы подавить вывод команды «-help», мы запустим следующую команду в нашем терминале:


При выполнении указанной выше команды весь вывод будет отправлен в корзину> / dev / null, и, следовательно, на вашем терминале ничего не будет отображаться, как показано на изображении, добавленном ниже:

Пример №4: Подавление вывода команды «-версия»:

Если вы хотите проверить версию любого установленного пакета или команды в Linux Mint 20, вы можете использовать команду «-version». Прежде чем подавлять вывод команды «-version», мы сначала хотели бы показать вам ее фактический вывод. Для этого вам нужно запустить команду «-версия» следующим образом:


Мы хотели проверить версию редактора nano, которая показана на изображении ниже:

Теперь, чтобы подавить вывод команды «-версия», мы запустим следующую команду в нашем терминале:


При выполнении указанной выше команды весь вывод будет отправлен в корзину> / dev / null, и, следовательно, на вашем терминале ничего не будет отображаться, как показано на изображении, добавленном ниже:

Читайте также:  Линукс консоль поиск файла

Пример № 5: Подавление вывода команды «man»:

Всякий раз, когда вы хотите прочитать руководство или справочные страницы любой установленной команды или пакета в Linux Mint 20, вы можете использовать команду «man». Прежде чем подавлять вывод команды «man», мы сначала хотели бы показать вам ее фактический вывод. Для этого вам нужно запустить команду «man» следующим образом:


Мы хотели получить доступ к руководству редактора nano, которое показано на изображении ниже:

Теперь, чтобы подавить вывод команды «man», мы запустим следующую команду в нашем терминале:


При выполнении указанной выше команды весь вывод будет отправлен в корзину> / dev / null, и, следовательно, на вашем терминале ничего не будет отображаться, как показано на изображении ниже:

Заключение:

В этой статье мы поделились с вами пятью различными примерами подавления всего вывода команды Bash в Linux Mint 20. Пройдя эти примеры, теперь вы легко сможете подавить вывод любой желаемой команды Bash или сценария Bash при использовании Linux Mint 20.

Как изменить настройки мыши и сенсорной панели с помощью Xinput в Linux

Мышь

Большинство дистрибутивов Linux по умолчанию поставляются с библиотекой libinput для обработки событий ввода в системе. Он может обрабатывать события .

Переназначьте кнопки мыши по-разному для разных программ с помощью X-Mouse Button Control

Мышь

Может быть, вам нужен инструмент, который мог бы изменять управление вашей мышью с каждым приложением, которое вы используете. В этом случае вы можете.

Обзор беспроводной мыши Microsoft Sculpt Touch

Мышь

Я недавно прочитал о Microsoft Sculpt Touch беспроводная мышь и решил ее купить. Побывав некоторое время, я решил поделиться своим опытом с ним. Эта б.

Свежие статьи об операционных системах. Множество интересных гайдов и полезных советов. Почувствуйте себя своим в мире современных технологий

Источник

How can I suppress all output from a command using Bash?

I have a Bash script that runs a program with parameters. That program outputs some status (doing this, doing that. ). There isn’t any option for this program to be quiet. How can I prevent the script from displaying anything? I am looking for something like Windows’ «echo off».

9 Answers 9

The following sends standard output to the null device (bit bucket).

And if you also want error messages to be sent there, use one of (the first may not work in all shells):

scriptname &>/dev/null scriptname >/dev/null 2>&1 scriptname >/dev/null 2>/dev/null 

And, if you want to record the messages, but not see them, replace /dev/null with an actual file, such as:

Читайте также:  Как пользоваться suse linux

For completeness, under Windows cmd.exe (where «nul» is the equivalent of «/dev/null»), it is:

Note that ‘&>’ is peculiar to bash (and maybe C shells); Korn and Bourne shells require 2> /dev/null or 2>&1 (to send stderr to the same place as stdout). The Korn shell seems to interpret ‘&>’ as «run the stuff up to & in background, then do the i/o redirection on an empty command».

Note that some commands write directly to the terminal device rather than to standard output/error. To test, put echo foo > $(tty) in a script and run ./test.sh &> /dev/null — The output is still printed to the terminal. Of course this is not a problem if you’re writing a script which uses no such commands.

@l0b0, is there a way to make the script’s (or any other program’s) tty different so that all output is redirected regardless of your example? I know screen and script can do something like that but both are finicky and vary from *nix to *nix.

This will prevent standard output and error output, redirecting them both to /dev/null .

Even though I’m adding this to my gs (GhostScript) command, it still prints out **** Warning: File has a corrupted %%EOF marker, or garbage after %%EOF. Any advice?

An alternative that may fit in some situations is to assign the result of a command to a variable:

$ DUMMY=$( grep root /etc/passwd 2>&1 ) $ echo $? 0 $ DUMMY=$( grep r00t /etc/passwd 2>&1 ) $ echo $? 1 

Since Bash and other POSIX commandline interpreters does not consider variable assignments as a command, the present command’s return code is respected.

Note: assignement with the typeset or declare keyword is considered as a command, so the evaluated return code in case is the assignement itself and not the command executed in the sub-shell:

$ declare DUMMY=$( grep r00t /etc/passwd 2>&1 ) $ echo $? 0 

Источник

Оцените статью
Adblock
detector