Linux里的eval命令

  这个命令之前没有用过,在网上查了一下资料,觉得人家写的很好,所以复制过来了。

  标题:linux命令eval的用法

  链接:http://blog.chinaunix.net/uid-21411227-id-1826706.html

  标题:linux shell中的eval

  链接:http://www.2cto.com/os/201311/255577.html

  语法:eval cmdLine

    eval会对后面的cmdLine进行两遍扫描,如果在第一遍扫面后cmdLine是一个普通命令,则执行此命令;如果cmdLine中含有变量的间接引用,则保证简介引用的语义。

  举例如下:

    set 11 22 33 44

    如果要输出最近一个参数,即44,可以使用如下命令,

    echo $4

    但是如果我们不知道是几个参数的时候,要输出最后一个参数,大家可能会想到使用$#来输出最后一个参数,

  如果使用命令:

    echo "\$$#"

  则得到的结果是$4,而不是我们想要的44.这里涉及到一个变量简介引用的问题,我们的本意是输出$4,默认情况下,命令后忽略变量简介引用的情况。

  这时候,就可以使用eval命令。

  eval echo "\$$#"

  得到结果为44.

    

  

时间: 2024-07-29 19:03:54

Linux里的eval命令的相关文章

linux里添加locate命令

linux里添加locate命令 在linux里使用和find一样的功能 例如 find -name xx 可以yum install mlocate 然后 updatedb 再使用locate xx  来查找xx文件 原文地址:https://www.cnblogs.com/caizhichao/p/8434654.html

Linux里的lsb_release命令用来查看当前系统的发行版信 息

Linux里的lsb_release命令用来查看当前系统的发行版信 息(prints certain LSB (Linux Standard Base) and Distribution information.).有了这个命令就可以清楚的知道到底是RedHat的.还是别的发行版,还有具体的版本号,比如3.4还是5.4等等.有些系 统上不一定安装了这个命令,可以通过查看/etc/issue文件得到发行版信息. 常用参数 格式:lsb_release 格式:lsb_release -v 查看LSB

如何在Linux里使用xargs命令

你是否遇到过这样的情况,需要一遍又一遍地对多个文件执行同样的操作?如果有过,那你肯定会深有感触这是多么的无聊和效率低下.还好有种简单的方 式,可以在基于Unix的操作系统中使用xargs命令解决这个烦恼.通过这个命令你可以有效地处理多个文件,节省你的时间和精力.在这篇教程中,你可以 学到如何一次性对多个文件执行命令或脚本操作,再也不用担心像单独处理无数个日志或数据文件那样吓人的任务了. xargs命令有两个要点.第一,你必须列出目标文件.第二,你必须指定对每个文件需要执行的命令或脚本. 这篇教程

linux里命令的对话框whiptail

Linux里面可以在命令行里形成对话框,用光标上下,左右选择,一屏一屏的问答选择,填写. whiptail是Linux不需要另行安装,默认就有的,其它的比如dialog需要另行安装,很麻烦,虽然功能比较好些. 帖一个写好的东西. #!/bin/bashtrap "" 2while truedoOPTION=$(whiptail --title "Email Manager" --nocancel --menu "Choose your option&quo

Linux里必须会的redis命令

一.Key Key命令速查: 命令 说明 DEL 删除给定的一个或多个 key,不存在的 key 会被忽略,返回值:被删除 key 的数量 DUMP 序列化给定 key,返回被序列化的值,使用 RESTORE 命令可以将这个值反序列化为 Redis 键 EXISTS 检查给定 key 是否存在 EXPIRE 为给定key设置有效时间,接受时间点 EXPIREAT 为给定key设置有效时间,接受时间戳timestamp KEYS 查找所有符合给定模式 pattern 的 key:KEYS * 匹配

用xshell操作linux系统的常用命令

(1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以.doc结尾的所有文件 (2)命令cp——复制文件 cp afile afile.bak 把文件复制为新文件afile.bak cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下 cp * /tmp 把当前目录下的所有未隐藏文件复制到/tmp/目

Linux CentOS7 中vim命令的使用

一. vim介绍 vim 是vi 的升级版本:可带颜色显示 1. 安装vim yum install -y vim-enhancedvim /etc/passwd 2. 三种模式: 一般模式:dd p yy  编辑模式:编辑文件内容 命令模式::/ ? 二. vim颜色显示和移动光标 1. vim 可以根据文件的路径和名字显示颜色 cp /etc/passwd /tmp  vim /tmp/passwd 查看就无颜色 /etc 下会显示颜色,是他的特性.cp /etc/fstab /tmpvim

Linux上的free命令详解

Linux上的free命令详解 转自: http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html 解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free Output).例如: FO[2][1] = 24677460 FO[3][2] = 10321516 1          2          3    

Linux下使用ps命令来查看Oracle相关的进程

Linux下可以使用ps命令来查看Oracle相关的进程 Oracle Listener 这个命令会列出Oracle Net Listener的进程 [[email protected] www.linuxidc.com ~]$ ps -ef | grep tnslsnr oracle    1999 29986  0 09:47 pts/2    00:00:00 grep tnslsnr oracle    3647     1  0 Jul03 ?        00:00:34 /u01