首页IT科技linux的for(linux命令eval的用法讲解)

linux的for(linux命令eval的用法讲解)

时间2025-09-19 00:44:32分类IT科技浏览10526
导读:1. eval command-line...

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

声明:本站所有文章                          ,如无特殊说明或标注,均为本站原创发布                               。任何个人或组织                         ,在未征得本站同意时                               ,禁止复制                     、盗用                              、采集          、发布本站内容到任何网站                、书籍等各类媒体平台                    。如若本站内容侵犯了原著者的合法权益     ,可联系我们进行处理     。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
单行和多行文本溢出显示省略号如何实现(CSS实现单行、多行文本溢出显示省略号(…))