当前位置: 首页 > 编程笔记 >

Shell中eval的用法示例

笪成周
2023-03-14
本文向大家介绍Shell中eval的用法示例,包括了Shell中eval的用法示例的使用技巧和注意事项,需要的朋友参考一下

功能说明:告知shell取出eval的参数,重新运算求出参数的内容。
语  法:eval [参数]
补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。
参  数:参数不限数目,彼此之间用分号分开。
1.执行命令行之前扫描它两次,再次运算求出参数的内容。


[root@localhost blue]# a="ls |more"

[root@localhost blue]# $a                                           #ls


将 | 和 more 看成了参数,而不是将文件按页显示

ls: cannot access |more: No such file or directory

[root@localhost blue]# eval $a                                    #取出


其参数并再次执行它们

1

1.cpp

2

2.cpp

3

3.cpp

[root@localhost test]# a="123"

[root@localhost test]# echo '${'"a"'}'                         

${a}

[root@localhost test]# eval echo '${'"a"'}'                #再次执行${a}命令

123 


2.eval取得最后一个参数

[root@localhost blue]# echo 'eval echo \$$#' > last

[root@localhost blue]# cat last

eval echo \$$#

[root@localhost blue]# ./last 1 2 3 4

4


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

 类似资料:
  • 问题内容: 我想分配: 我编写代码来表示输入或输入时可以得到字符串的输出。 我该怎么做? 问题答案: 对于语句的动态执行,请使用语句。 Eval Usgae: 该参数被解析和评价为Python表达式 例如:

  • 本文向大家介绍Python中的exec、eval使用实例,包括了Python中的exec、eval使用实例的使用技巧和注意事项,需要的朋友参考一下 通过exec可以执行动态Python代码,类似Javascript的eval功能;而Python中的eval函数可以计算Python表达式,并返回结果(exec不返回结果,print(eval("…"))打印None); 这里有个scope(命名空间,

  • 问题内容: 在阅读了bash手册页并针对此帖子之后。 我仍然很难理解该命令的确切功能以及它的典型用法。例如,如果我们这样做: 这里到底发生了什么,美元符号和反斜杠如何与问题联系在一起? 问题答案: 将字符串作为其参数,并对其进行求值,就好像您在命令行上键入了该字符串一样。(如果您传递几个参数,则它们首先会以空格隔开。) 是bash中的语法错误。在大括号内,您只能具有一个变量名,并带有一些可能的前缀

  • 问题内容: 我有一个网站,服务器在其中生成一些javascript,并将其通过ajax发送到客户端。问题是,我想在页面上使用React,但不知道要调用哪个函数。现在,JavaScript在jQuery中,我使用eval()在客户端执行javascript。什么是适用于JSX的eval()的React等效项。 问题答案: 如果您希望它与JSX一起使用,则可以在执行代码之前使用Babel之类的代码来转

  • 我刚开始利用朱莉娅。我试图使用eval(在Julia中)来定义函数中的一组变量。假设我想设置v1等于2: 调用函数为: 它不起作用,因为println返回0(v1的初始值)。但是,如果我在Julia的终端中运行一个类似的eval调用,那么它就可以工作了。 能否请您澄清一下为什么不起作用以及如何修复?

  • 问题内容: 我在玩耍时偶然发现了Python中的一个函数。我想不出需要此功能的情况,除了可能是语法糖。谁能举一个例子? 问题答案: 并且是一种方便快捷的方法,可以动态地获取一些源代码,也许要稍加修改然后再执行- 但是,它们从来不是最好的方法,尤其是在生产代码中,而不是“快速而又简单”脏”的原型&c。 例如,如果我不得不处理这样的动态Python源代码,那么我会使用ast模块-比得多(比它更安全(您