码迷,mamicode.com
首页 > 系统相关 > 详细

Shell下的命令代换与eval命令

时间:2017-07-14 12:00:13      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:命令   功能   退出   支持   区别   eva   时间   返回   $()   

  在shell中,如果想获得一个命令的返回值,如果为整数,可以直接用$?获取其退出码.

  但如果一条命令的返回值不是整数,怎么实现?

  不得不提shell下的命令代换功能!

两种方式实现命令代换

  假设我们某个变量需要获得当前时间,则可以这样实现:

  date=`date`

  echo $date

  或者也可以这样

  date=$(date)

  echo $date

  这两种方式都可以实现命令代换的功能,那么他们有何不同?

两种命令代换方式的区别

  1.$()看起来比较简洁,而``很容易与‘’进行混淆.

  2.在多层替换中``需要进行转义,比较麻烦

  3.``的移植性更强,因为$()不保证所有linux系统都能支持

eval命令

  eval命令用来告知shell取出eval的参数,重新运算求出参数内容.

  比如:

  val=123

  cmd="echo $val 456789"

  echo $cmd    #echo 123 456789

  eval $cmd    #123 456789

Shell下的命令代换与eval命令

标签:命令   功能   退出   支持   区别   eva   时间   返回   $()   

原文地址:http://www.cnblogs.com/caolicangzhu/p/7169172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!