在 bash 中,我需要运行包含命令的变量,然后将输出分配给另一个变量。问题是有几个命令,有一些管道或类似的东西。
以下是一个示例:
snmpwalk -Ov -v 2c -c public 127.0.0.1 1.3.6.1.4.1.6574.1.2.0 | awk "{print $ 2}"
和
upsc ups | grep input.voltage: | cut -d" " -f2
我该怎么做?
答案 0 :(得分:1)
您可以将任何命令或管道的stdout捕获到这样的变量:
result=$(upsc ups | grep input.voltage: | cut -d" " -f2)
答案 1 :(得分:0)
这是一种方式:
cmd='upsc ups | grep input.voltage: | cut -d" " -f2'
result=`echo "$cmd" | bash`