Linux eval命令

eval是bash shell的内建命令,可以通过参考man builtin页面关于eval得到更多的信息。

eval命令将会首先扫描后面的命令进行所有的替换,然后再执行后面的命令。

例子

[root@rhel6164 ~]# test1=hello
[root@rhel6164 ~]# test2=1
[root@rhel6164 ~]# echo $test$test2 #直接打印变量test和test2,因为test没有定义,默认是空的,所以输出就只有test2的值
1
[root@rhel6164 ~]# eval echo $test$test2 
1
<pre name="code" class="plain">#原本想用eval来进行变量替换,然后再打印变量的值,但是变量替换时从左边开始的,当替换到$test的时候,因为其没有定义,就是为空,然后结果页只打印了test2的值
[root@rhel6164 ~]# eval echo \$test$test2 hello
#用转义字符转义了第一个dollar符合,当eval进行变量替换的时候,就把第一个dollar符号当成了一般的字符,然后就进行替换test2为1,eval命令处理完了,
就相当于echo $test1命令了

                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值