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