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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。