BASH脚本回显文本和命令

问题描述 投票:0回答:1

我知道这真是la脚,但是...我正在把头发拔出来。

基本上我有这个代码:

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

它返回此:

[E] No device present
Display Name:

我希望它是:

Display Name: [E] No Device Present

我想念什么?

TIA罗恩

bash cmd echo stderr
1个回答
0
投票

[看上去很像来自/opt/vc/bin/tvservice的错误消息进入标准错误流(不是标准输出),因此$()无法捕获它。尝试使用2&>1

重定向到标准输出
getDisplayName(){
  echo Display Name: $(/opt/vc/bin/tvservice  -n 2&>1)
}
© www.soinside.com 2019 - 2024. All rights reserved.