#Bash 的 eval 命令
eval [ARG]...
功能
将字符串当作 Bash 命令执行。
主要用于嵌套变量的解析。
类型
Bash 内置命令。
参数
ARG- 要执行的字符串
#示例
嵌套变量
$ GREET='echo Hello $NAME'
$ NAME=Tom # 设置 NAME
$ eval $GREET # 执行
Hello Tom
$ NAME=Jerry # 设置 NAME
$ eval $GREET # 执行
Hello TAME=Jerrm
间接引用
$ DATA='Hello World'
$ PTR=DATA # 类似指针
$ eval "echo \$$PTR" # \$$PTR -> $DATA -> Hello World
Hello World
$ PTR2=PTR # 类似二级指针
$ eval "echo \$$PTR2" # \$$PTR2 -> $PTR -> DATA
DATA
$ eval "eval echo \\\$\$$PTR2" # \\\$\$$PTR2 -> \$$PTR -> $DATA -> Hello World
Hello World
#手册
eval: eval [arg ...]
Execute arguments as a shell command.
Combine ARGs into a single string, use the result as input to the shell,
and execute the resulting commands.
Exit Status:
Returns exit status of command or success if command is null.