首页 > 其他 > 详细

BASH 文本模版的简单实现 micro_template_compile

时间:2014-06-17 16:24:06      阅读:425      评论:0      收藏:0      [点我收藏+]

具体代码

###############################
#
# Funciton: micro_template_compile
#
# Parameter:
#    [1] => template :String
#    [2..n] => values for placeholder as key=value
#
# Example:
#    <- micro_template_compile '{code: {{error.code}}, message: "{{error.message}}"}' "error.code=127" "error.message=command not found."
#       ---
#    -> { code: 0, message: "" }
###############################
function micro_template_compile() {

  template_string="$1"; shift;
  expression=""

  while [ $# -ne 0 ]; do
    key=$(echo "$1" | sed 's~^\([^=]*\)=\(.*\)$~\1~g')
    value=$(echo "$1" | sed 's~^\([^=]*\)=\(.*\)$~\2~g')
    expression="s~{{$key}}~$value~g;$expression"
    shift;
  done

  echo "$template_string" | sed "$expression"
}



使用案例

执行

micro_template_compile 'Hi {{name}}, it is {{date}} today and {{weather}} outside. :)
message to you: {{message}}'   name='小王' date="$(date +"%Y/%m/%d")" weather="大晴天儿" message="咱们出去钓鱼吧!"


输出

Hi 小王, it is 2014/06/16 today and 大晴天儿 outside. :)
message to you: 咱们出去钓鱼吧!


BASH 文本模版的简单实现 micro_template_compile,布布扣,bubuko.com

BASH 文本模版的简单实现 micro_template_compile

原文:http://blog.csdn.net/wxqee/article/details/31747497

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!