📜  Shell脚本评估

📅  最后修改于: 2021-01-09 14:34:12             🧑  作者: Mango

Shell脚本eval命令

eval命令是内置命令。它以字符串作为参数并对其求值,然后运行存储在参数中的命令。它允许将变量的值用作变量。

范例1:

eval echo \${$User}

查看上面的快照,命令“ echo \ $ {$ User}”将$ User作为shell变量运行并显示其输出。

但是命令“ eval echo \ $ {$ User}”运行传递给eval的参数。扩展后,其余参数为echo$ {Hello} 。因此,eval命令运行命令echo $ {Hello} 。所以输出是X先生

必须在变量和命令替换周围使用双引号。如果没有双引号,shell可能会对变量的不同单词执行字段拆分。

范例2:

查看上面的快照,我们已经将参数(1周前)传递给date命令。这是显示的最后一周的日期和时间。

但是,当我们在变量中(上周)设置此命令并运行它时,该命令将无法打印日期。向下看,

查看上面的快照,命令“ $ lastweek”失败,而命令“ eval $ lastweek”成功运行。

(())

该符号主要用于数值评估。这是一个复合命令。

查看上面的快照,单括号()给出错误,而双括号(())成功执行命令。