从bash解析命令输出

时间:2013-07-12 17:38:04

标签: bash scripting

我不是很擅长bash所以请原谅我的无知。

我正在编写一个脚本,我需要解析命令调用的输出,这可能会导致多个元素。

如果我在提示符下发出此命令:

res=$(/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -a0 | grep "RAID Level" | awk '{print $4}' | tr -d ',')

并回应我得到的回应:

Primary-1 Primary-5 Primary-5

这就是我想要的。 但是当我在脚本中尝试这个时:

AID=0
MCLI=/opt/MegaRAID/MegaCli/MegaCli64
function test {
        RAIDGS=$($MCLI -LDInfo -Lall -a$AID | grep 'RAID Level' | awk '{ print $4 }'| tr -d ',' )
        echo "got RAIDGS = $RAIDGS"

}

似乎没有设置,我得到:

got RAIDGS =

我做错了什么?

非常感谢您的帮助。 使用: GNU bash,版本4.1.2(1)-release(x86_64-redhat-linux-gnu)

0 个答案:

没有答案