linux命令eval的用法讲解

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)

相关推荐

  • Linux修改文件权限命令chmod的用法

    修改linux文件权限命令:chmod 用法:chmod XXX filename ×××(所有者组用户其他用户) ×=4 读的权限 ×=2 写的权限 ×=1 执行的权限 常用修改权限的命令: sud ...

  • 切换Linux系统下图形界面与Linux命令行模式

    本文为您讲解假如在Linux系统下实现图形界面与Linux命令行模式切换。 一、Linux系统安装的流程中默认语言是英文,而不是中文简体(安装流程中有两次制定语言选项,起决定作用的是第二次) 二、Li ...

  • 每个开发人员都应该知道的8个常用Linux命令

    每个开发人员到了他们职业人生的某个阶段的时候,将会发现自己要寻找有关Linux的信息。我并不是这方面的专家。但是掌握了以下8个命令,我几乎可以得到我任何需要的东西。 注意:以下的命令都有很多扩展的文档 ...

  • Linux命令有哪些?

    Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、驱动、键盘、鼠标,还是用户等都是文件,Linux命令是它正常运行的核心。接下来,就来看看xp系统下载编辑 ...

  • 自学Linux命令的四种方法

    如果你想成为Linux高手,那么掌握一些Linux命令是必不可少的。下面是自学Linux命令的四种方法。 每日提示 学习Linux命令的一种渐进式方法是:在每次打开终端时,让它显示“每日提示”。这会向 ...

  • 利用linux命令行工具进行文本行过滤的方法

    在日常工作中会遇到需要筛选过滤要查看的日志等文本文件的任务,例如需要查看日志文件的最后几行等.下面总结一下常见的对文本行过滤的方法.一起去看看吧! 常用命令行工具 接下来主要使用的是head,tail ...

  • Linux命令查看文件(linux怎么搜索文件内容)

    请关注本头条号,每天坚持更新原创干货技术文章.如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习1. cat命令简介本文主要讲解Linux上cat命令的作用与常见使用 ...

  • Linux命令如何新建或删除文件/文件夹

    Linux的特点就是它的命令啦,通过命令可以进行很多很多的操作,今天小编我就来给各位小可爱讲解一下 Linux命令如何新建删除文件或文件夹,还是比较简单的. 操作方法 01 首先,就是使用Linux新 ...

  • linux命令大全:[1]查看文件内容

    学习linux时有许多的常用命令是我们必须要记住的,今天小编就跟大家分想一些命令 操作方法 01 cat 查看文件内容,查看内容过多文件的时候不能全部显示,如图中2中想要查看/etc/services ...