内容一:eval 命令的作用
对将要执行的命令进行 2 次扫描,第 1 次扫描时把扫描的内容替换成命令,第 2 次扫描时执行扫描到的命令
内容二:eval 直接执行命令的案例
2.1 设置变量
# url=eternalcenter.com
(补充:这里以将内容 eternalcenter.com 赋值给变量 url 为例)
2.2 显示变量里内容
# echo $url
eternalcenter.com
或者:
# eval echo $url
eternalcenter.com
(补充:这里以显示变量 url 里的内容 eternalcenter.com 为例)
内容三:eval 将变量转换成命令后执行的案例
3.1 将命令设置成变量
# command=pwd
(补充:这里以将命令 pwd 赋值给变量 command 为例)
3.2 显示变量里的命令
# echo $command
pwd
(补充:这里以显示变量 command 里的 pwd 命令为例)
3.3 执行变量里的命令
# eval $command
/root
(补充:这里以执行变量 command 里的 pwd 命令为例)
内容四:eval 显示脚本里最后 1 个位置变量的内容
4.1 创建显示最后 1 个位置变量的脚本
# vim test.sh
创建以下内容:
#!/bin/bash
eval echo \$$#
(补充:这里创建名为 test.sh 的脚本为例)
4.2 带位置变量执行脚本
# . test.txt a b c d e
e
(补充:这里执行名为 test.sh 的脚本并附带 a b c d e 5 个位置变量为例)
内容五:eval 实现指针
5.1 设置变量
# url=eternalcenter.com
(补充:这里以将内容 eternalcenter.com 赋值给变量 url 为例)
5.2 设置指针
# pointer=url
(补充:这里以让指针 pointer 指向 url 变量为例)
5.3 显示指针指向的变量
# echo $pointer
url
(补充:这里以显示指针 pointer 指向的变量 url 为例)
5.4 显示指针最终指向的内容
# eval echo \$$pointer
eternalcenter.com
(补充:这里以显示指针 pointer 指向的最终内容 eternalcenter.com 为例)