eval的作用
来源:互联网 发布:普通用户 linux 知乎 编辑:程序博客网 时间:2024/06/09 06:35
1. eval command-line
其中command-line是在终端上键入的一条普通命令行。然而当在它前面放上eval时,其结果是shell在执行命令行之前扫描它两次。如:
pipe="|"
eval ls $pipe wc -l
shell第1次扫描命令行时,它替换出pipe的值|,接着eval使它再次扫描命令行,这时shell把|作为管道符号了。
如果变量中包含任何需要shell直接在命令行中看到的字符(不是替换的结果),就可以使用eval。命令行结束符(; | &),I/o重定向符(< >)和引号就属于对shell具有特殊意义的符号,必须直接出现在命令行中。
2. eval echo \$$# 取得最后一个参数
如:cat last
eval echo \$$#
./last one two three four
four
第一遍扫描后,shell把反斜杠去掉了。当shell再次扫描该行时,它替换了$4的值,并执行echo命令
3.以下示意如何用eval命令创建指向变量的“指针”:
x=100
ptrx=x
eval echo \$$ptrx 指向ptrx,用这里的方法可以理解b中的例子
100 打印100
eval $ptrx=50 将50存到ptrx指向的变量中。
echo $x
50 打印50
阅读全文
0 0
- freemarker eval 的作用
- perl-- eval的作用
- eval的作用
- eval的作用
- eval()函数的作用
- eval 的作用
- eval的作用
- eval()函数的作用
- php中eval的作用
- python eval函数的作用
- JS中eval()的作用
- Javascript中eval()函数的作用
- linux shell中eval工具的作用
- Linux 中 eval命令的作用
- eval('('+***+')')对json数据格式的作用
- 反引号与$()的区别以及eval的作用
- 让eval()全局作用域执行的方法深入研究
- JSON.stringify()、eval(),JSON.parse()各自的区别于作用
- Java反射机制详解
- Java 1.8+Hadoop 2.7.3+Spark 2.1.1+Scala 2.11.8整合分布式部署
- Android 连续多次点击事件的实现
- activity里面fragment见的跳转
- hdoj1097 A hard puzzle(简单题)
- eval的作用
- Android Design风格组件之BottomSheets
- 欢迎使用CSDN-markdown编辑器
- Annotation注解APT(四):依赖注入框架Dagger
- @+id/和android:id有什么区别?
- JSON字符串与JSON对象的区别
- 【Python】下载图片的代码
- 变量的命名2
- fragment返回键处理