Linux-eval

Posted 运维·拖拉斯基

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-eval相关的知识,希望对你有一定的参考价值。

shell中eval的用法示例:

功能说明:告知shll取出eval的参数,重新运算求出参数的内容。

语  法:eval [参数]

补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。
参  数:参数不限数目,彼此之间用分号分开。

1.执行命令行之前扫描它两次,再次运算求出参数的内容。出现错误:将 | 和 more 看成了参数,而不是将文件按页显示

[[email protected] ~]# a="ls |more"
[[email protected] ~]# $a 
ls: cannot access |more: No such file or directory

加入eval改善执行结果:

[[email protected] ~]#eval $a
Desktop
Documents
Downloads
install.log
install.log.syslog
iptables.sh
正常输出想要的结果

2.例:将...

[[email protected] ~]# a="123"
[[email protected] ~]# echo ${‘"a"‘}                         
${a}
[[email protected] ~]# eval echo ${‘"a"‘}                #再次执行${a}命令
123 

3.eval取得最后一个参数

[[email protected] ~]#  echo eval echo \$$# > last
[[email protected] ~]#  cat last
eval echo \$$#
[[email protected] ~]# ./last 1 2 3 4
4

另外其他高级用法后作补充!
eval是对Bash Shell命令行处理规则的灵活应用,进而构造"智能"命令实现复杂的功能。
上面提及的命令是eval其中一个很普通的应用,它重复了1次命令行参数传递过程,纯粹地执行命令的命令。
其实它是bash的难点,是高级bash程序员的必修之技。








以上是关于Linux-eval的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数