首页 > 学院 > 开发设计 > 正文

Shell中eval的用法示例

2019-11-06 06:10:38
字体:
来源:转载
供稿:网友

功能说明:告知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                                    #取出其参数并再次执行它们复制代码代码如下:11.cpp22.cpp33.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 lasteval echo /$$#[root@localhost blue]# ./last 1 2 3 44另外其他高级用法后作补充!eval是对Bash Shell命令行处理规则的灵活应用,进而构造"智能"命令实现复杂的功能。上面提及的命令是eval其中一个很普通的应用,它重复了1次命令行参数传递过程,纯粹地执行命令的命令。其实它是bash的难点,是高级bash程序员的必修之技。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表