Shell中eval的用法示例
功能说明:告知shell取出eval的参数,重新运算求出参数的内容。
语法:eval[参数]
补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。
参数:参数不限数目,彼此之间用分号分开。
1.执行命令行之前扫描它两次,再次运算求出参数的内容。
[root@localhostblue]#a="ls|more" [root@localhostblue]#$a #ls
将|和more看成了参数,而不是将文件按页显示
ls:cannotaccess|more:Nosuchfileordirectory [root@localhostblue]#eval$a #取出
其参数并再次执行它们
1
1.cpp
2
2.cpp
3
3.cpp
[root@localhosttest]#a="123"
[root@localhosttest]#echo'${'"a"'}'
${a}
[root@localhosttest]#evalecho'${'"a"'}' #再次执行${a}命令
123
2.eval取得最后一个参数
[root@localhostblue]#echo'evalecho\$$#'>last [root@localhostblue]#catlast evalecho\$$# [root@localhostblue]#./last1234 4
另外其他高级用法后作补充!
eval是对BashShell命令行处理规则的灵活应用,进而构造"智能"命令实现复杂的功能。
上面提及的命令是eval其中一个很普通的应用,它重复了1次命令行参数传递过程,纯粹地执行命令的命令。
其实它是bash的难点,是高级bash程序员的必修之技。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短