`

linux shell 中的 eval

 
阅读更多

语法:eval cmdLine

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

 

举例如下:

set 11 22 33 44

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

echo $4

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

如果使用命令:

echo "\$$#"

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

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

eval echo "\$$#"

得到的结果为44

分享到:
评论

相关推荐

    linux 监视端口是否正常的shell脚本

    代码如下: #!/bin/bash port=”80″ restart=”/etc/init.d/httpd restart” EMAIL=”/bin/echo selboo | mutt -s “重新启动httpd” root@selboo.com.cn” ... 您可能感兴趣的文章:linux使用管道命令执行ps获取cpu与内

    Linux shell Script

    Shell脚本是Linux系统中的强大工具,可以自动化日常管理任务,提高工作效率,同时也是学习Linux系统管理和编程的一个重要切入点。 一、Shell脚本基础 1. 文件开头:一个有效的Shell脚本通常以`#!/bin/bash`或`#!/...

    LINUX与UNIX SHELL编程指南(很全)

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    Linux shell编程指南

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    Linux shell脚本 精华中文版

    004_文件名置换_匹配文件名中的字符.pdf 005_echo_read_cat_管道_tee_标准输入输出和错误_重定向标准输入输出和错误_exec.pdf 006_命令执行顺序.pdf 007_文本过滤_正则表达式.pdf 008_grep家族.pdf 009_awk...

    linux shell 编程教程

    linux shell编程 教程大全 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...

    谈谈shell中的eval与crontab命令

    在Linux Shell编程中,`eval` 和 `crontab` 是两个非常重要的工具,它们各自服务于不同的目的。本文将深入探讨这两个命令的工作原理及其应用场景。 `eval` 命令在Shell中扮演着执行字符串作为命令的角色。它会对...

    Linux shell

    ### Linux Shell Scripting知识点 #### 一、Linux Shell 脚本编程概述 - **定义与作用**:Linux Shell 脚本是一种自动化工具,它允许用户通过一系列命令来执行复杂的任务。这些命令通常用于系统管理任务,如备份、...

    主要shell内置命令

    Shell是Linux和Unix系统中的一种命令解释器,它允许用户通过命令行接口与操作系统交互。在Shell中,内置命令是直接由Shell执行的,而无需启动新的进程,这使得它们比外部命令更快、更有效率。以下是主要的Shell内置...

    Linux教程 Shell精华文章

    Linux教程中的Shell精华文章主要涵盖了Linux操作系统中Shell脚本编程的核心概念、常用命令及实践技巧。Shell是Linux系统中的一种命令解释器,同时也是编写自动化任务和脚本的强大工具。在这个教程中,你将深入理解...

    linux shell编程

    ### Linux Shell 编程知识点详解 #### 一、Shell 概述 - **Shell 主要特点**:Shell 是用户与 Linux 系统交互的主要接口,它不仅是一个命令解释器,还可以编写 shell 脚本来自动化任务。Shell 提供了丰富的编程...

    shell-1.1eval.tgz_evaluation_Blackfin_

    压缩包文件名"shell-1.1eval.tgz"是一个常见的Linux/Unix归档格式,其中"TGZ"代表"TAR"(一种文件打包格式)加上"GZ"(gzip压缩算法)。解压这个文件后,用户将获得一系列文件和目录,可能包括: 1. README:通常...

    LINUX与UNIX SHELL编程指南LINUX与UNIX SHELL编程指南24

    《LINUX与UNIX SHELL编程指南》第24章主要探讨了SHELL的嵌入式命令,这些命令是直接在shell环境中内置的,而非存在于/bin或/usr/bin等系统目录下。由于它们直接由shell执行,因此执行速度相对较快。本章详细介绍了多...

    LINUX与UNIX SHELL编程指南

    在提供的压缩文件中,《LINUX与UNIX SHELL编程指南》和"LINUXyuUNIX%20SHELL_600it"可能是书籍的电子版,其中后者可能是经过编码处理的文件名,读者可以通过解码或直接使用支持URL编码的工具打开阅读。 总的来说,...

    绝版经典《Linux与UNIX Shell编程指南》

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    LINUX与UNIX SHELL编程指南 高清PDF

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    linux_shell_编程.TXT

    - **Shell 的重要性**:在 Linux 系统中,Shell 是用户与操作系统交互的主要方式之一,它不仅提供了一个命令行界面来执行各种任务,还允许通过编写脚本来自动化这些任务。 - **学习目标**:本教程旨在帮助初学者掌握...

    实验报告2_shell及shell编程.doc

    在Linux或Unix系统中,Shell是用户与操作系统交互的界面,Bash是最常用的Shell之一。 1. **Bash配置文件**: - `/etc/profile`:系统级的初始化文件,对所有用户生效。 - `$HOME/.bash_profile`:用户的个人配置...

    reset_jetbrains_eval_mac_linux.sh

    idea shell脚本

    Linux-Shell用法详解(推荐文档).ppt

    在Linux世界中,Bash(Bourne-Again SHell)是最常用的Shell类型。 **1. Shell是什么** Shell是一个程序,它接收用户输入的命令并将其传递给操作系统内核执行。在Linux系统中,主要有bash、sh、csh、ksh等多种Shell...

Global site tag (gtag.js) - Google Analytics