Shell eval语句

Shell eval语句 首页 / Shell入门教程 / Shell eval语句

无涯教程此章节主要介绍eval命令,eval命令是内置命令。它以字符串作为参数并对其求值,然后运行存储在参数中的命令。它允许将变量的值用作变量。

Eval示例1

eval echo \${$User}

sanjin@Learnfk ShellDemo % User=learnfk

sanjin@Learnfk ShellDemo % learnfk=无涯教程

sanjin@Learnfk ShellDemo % echo \${$User}

${learnfk}

sanjin@Learnfk ShellDemo % eval echo \${$User}

无涯教程

sanjin@Learnfk ShellDemo % 

Linux Shell Scripting eval 1

查看上面的图,命令" echo\$ {$ User}" 将$ User作为Shell变量运行并显示其输出。

但是命令" eval echo\$ {$ User}" 运行传递给eval的参数。扩展后,其余参数为 echo $ {Hello} 。因此,eval命令运行命令 echo $ {Hello} 。所以输出是无涯教程

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

Eval示例2:

Linux Shell Scripting eval 3

查看上面的图,我们已经将参数(-v -1d +%Y-%m-%d)传递给了 date 命令。这是显示的最后一周的日期和时间。

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

Linux Shell Scripting eval 4

查看上面的图,命令" $yestoday" 失败,而命令" eval $yestoday " 成功运行。

(())

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

Linux Shell Scripting eval 5

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始学游戏开发 -〔蔡能〕

算法面试通关40讲 -〔覃超〕

从0打造音视频直播系统 -〔李超〕

后端技术面试 38 讲 -〔李智慧〕

罗剑锋的C++实战笔记 -〔罗剑锋〕

如何看懂一幅画 -〔罗桂霞〕

物联网开发实战 -〔郭朝斌〕

etcd实战课 -〔唐聪〕

手把手带你搭建秒杀系统 -〔佘志东〕

好记忆不如烂笔头。留下您的足迹吧 :)