如何将屏幕输出存储到变量(linux)

时间:2015-02-24 15:07:34

标签: bash variables capture

使用Ubuntu。我有一个程序,当你使用-i参数时输出它的版本。程序本身不会做任何进一步的操作,它只显示版本号而不是退出。

问题是如何捕获变量中的输出(以及版本信息)。我想稍后在bourne shell中使用它。

假设程序被调用" ABC"。当我执行命令时:ABC -i 比它显示:终端屏幕上的版本1.00。但是当我进入终端NR = ABC -i时; echo $ {NR}然后NR中没有任何内容。

root@shuttle:~# ABC -i
version 1.00
root@shuttle:~# NR=`ABC -i`
version 1.00
root@shuttle:~# echo ${NR}

root@shuttle:~#

我也试过这个:

root@shuttle:~# NR=$(ABC -i)
version 1.00
root@shuttle:~# echo $NR

root@shuttle:~#

我做错了什么?

1 个答案:

答案 0 :(得分:0)

找到它:

NR=$(ABC -i 2>&1 >/dev/null)

感谢Paul,他让我走向了正确的方向(stderr)