Shell中eval的用法示例 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    这篇文章主要介绍了Shell中eval的用法示例,本文给出多个示例来讲解它的使用,需要的朋友可以参考下

    功能说明:告知shell取出eval的参数,重新运算求出参数的内容,

Shell中eval的用法示例

    语  法:eval [参数]

    补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。

    参  数:参数不限数目,彼此之间用分号分开。

    1.执行命令行之前扫描它两次,再次运算求出参数的内容。

    代码如下:

    [root@localhost blue]# a="ls |more"

    [root@localhost blue]# $a                                          #ls

    将 | 和 more 看成了参数,而不是将文件按页显示

    代码如下:

    ls: cannot access |more: No such file or directory

    [root@localhost blue]# eval $a                                   #取出

    其参数并再次执行它们

    代码如下:

    1

    1.cpp

    2

    2.cpp

    3

    3.cpp

    [root@localhost test]# a="123"

    [root@localhost test]# echo ‘${‘"a"‘}‘

    ${a}

    [root@localhost test]# eval echo ‘${‘"a"‘}‘               #再次执行${a}命令

    123

    2.eval取得最后一个参数

    代码如下:

    [root@localhost blue]# echo ‘eval echo \$$#‘ > last

    [root@localhost blue]# cat last

    eval echo \$$#

    [root@localhost blue]# ./last 1 2 3 4

    4

    另外其他高级用法后作补充!

    eval是对Bash Shell命令行处理规则的灵活应用,进而构造"智能"命令实现复杂的功能,

电脑资料

Shell中eval的用法示例》(https://www.unjs.com)。

    上面提及的命令是eval其中一个很普通的应用,它重复了1次命令行参数传递过程,纯粹地执行命令的命令。

    其实它是bash的难点,是高级bash程序员的必修之技。

最新文章