BASH скрипт, эхо-текст и команда - PullRequest
2 голосов
/ 07 апреля 2020

Это серьезно хромает, я знаю, но ... Я вырываю на нем свои волосы.

В основном у меня есть этот код:

getDisplayName(){
echo Display Name: $(/opt/vc/bin/tvservice  -n)
}

Возвращает это:

[E] No device present
Display Name:

Я бы ожидал, что это будет:

Display Name: [E] No Device Present

Чего мне не хватает?

TIA Ron

1 Ответ

2 голосов
/ 07 апреля 2020

Похоже, сообщение об ошибке из /opt/vc/bin/tvservice отправляется в стандартный поток ошибок (не стандартный вывод), поэтому оно не перехватывается $(). Попробуйте перенаправить на стандартный вывод, используя 2&>1 2>&1

getDisplayName(){
  echo Display Name: $(/opt/vc/bin/tvservice  -n 2>&1)
}
...