Shell 中的 eval
功能:重新運算求出參數(shù)的內(nèi)容。eval可讀取一連串的參數(shù),然后再依參數(shù)本身的特性來執(zhí)行。
參數(shù):參數(shù)不限數(shù)目,彼此之間用分號分開。
示例:
eval $(free -h | awk 'NR==2{printf("total=%s;used=%s"),$2,$3}')
[test@S-681 log]$ echo $total
15G
示例中,使用free命令跟awk命令顯示內(nèi)存信息的第二行并且截取第2列、第3列將其打印出來,結(jié)果如下:
total=15G;used=13G
然后使用eval讀取該字符串,并將其轉(zhuǎn)換為表達式,最終結(jié)果相當(dāng)于在shell下執(zhí)行下面的命令
total=15G
used=13G