Как заставить замолчать $ (команда)> / dev / null - внутри функции, а не - замолчать файл sh - PullRequest
0 голосов
/ 03 июня 2019

Я вызываю команду из функции скрипта. Я хотел бы, чтобы это печаталось не для вывода, а только для переменной. Это печатает, чтобы:

MYVAR=$(docker inspect -f {{.State.Status}} $1)

Я пытался добавить &>/dev/null, но, конечно, переменная не установлена. Есть ли ступенька среднего размера, как; $(command >MYVAR&>/dev/null)

Обновление

Так же, как я жду, чтобы принять @anubhava очень хороший ответ, я нашел это, чтобы объяснить Разница между 2> & -, 2> / dev / null, | &, &> / dev / null и> / dev / null 2> & 1

1 Ответ

3 голосов
/ 03 июня 2019

На самом деле вам нужно подавить stderr, так как вы сохраняете вывод команды в переменной с помощью 2>/dev/null. Так что используйте:

myvar=$(docker inspect -f {{.State.Status}} "$1" 2>/dev/null)

Также предлагаем вам избегать использования всех имен переменных caps, чтобы избежать вероятности переопределения env var.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...