在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
功能说明:告知shell取出eval的参数,重新运算求出参数的内容。 复制代码 代码如下: [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命令行处理规则的灵活应用,进而构造"智能"命令实现复杂的功能。 上面提及的命令是eval其中一个很普通的应用,它重复了1次命令行参数传递过程,纯粹地执行命令的命令。 其实它是bash的难点,是高级bash程序员的必修之技。 |
请发表评论