0

我不是很擅长 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)

4

0 回答 0