Shell 脚本 eval 命令2025 年 3 月 17 日 | 阅读 1 分钟 eval 命令是一个内置命令。它接受一个字符串作为其参数并对其求值,然后运行存储在该参数中的命令。它允许使用变量的值作为变量。 示例 1 ![]() 查看上面的快照,命令 "echo \${$User}" 运行 $User 作为一个 shell 变量并显示其输出。 但是命令 "eval echo \${$User}" 运行传递给 eval 的参数。 扩展后,剩余的参数是 echo 和 ${Hello}。 因此,eval 命令运行命令 echo ${Hello}。 因此,输出是 Mr. X 必须在变量和命令替换周围使用双引号。如果没有双引号,shell 可能会对变量的不同单词执行字段拆分。 ![]() 示例 2 ![]() 查看上面的快照,我们已经将一个参数 (1 week ago) 传递给 date 命令。这是显示的上周的日期和时间。 但是,当我们将此命令设置为变量 (lastweek) 并运行它时,该命令无法打印日期。 向下看, ![]() 查看上面的快照,命令 "$lastweek" 失败,而命令 "eval $lastweek" 成功运行。 (( ))此符号主要用于数值评估。它是一个复合命令。 ![]() 查看上面的快照,单括号 ( ) 给出错误,而双括号 (( )) 成功执行该命令。 下一个主题脚本 let |
我们请求您订阅我们的新闻通讯以获取最新更新。