Shell eval使用小记

Shell 中的 eval
功能:重新运算求出参数的内容。eval可读取一连串的参数,然后再依参数本身的特性来执行。
参数:参数不限数目,彼此之间用分号分开。

示例:

eval $(free -h | awk 'NR==2{printf("total=%s;used=%s"),$2,$3}')

[test@S-681 log]$ echo $total
15G

示例中,使用free命令跟awk命令显示内存信息的第二行并且截取第2列、第3列将其打印出来,结果如下:

total=15G;used=13G

然后使用eval读取该字符串,并将其转换为表达式,最终结果相当于在shell下执行下面的命令

total=15G
used=13G

你可能感兴趣的:(Shell eval使用小记)