V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xinhangliu
V2EX  ›  程序员

有没有用 shell scripts 实现的模板引擎?

  •  
  •   xinhangliu · 2018-10-08 09:27:20 +08:00 · 3562 次点击
    这是一个创建于 2271 天前的主题,其中的信息可能已经有所发展或是发生改变。
    13 条回复    2018-10-08 14:26:09 +08:00
    azh7138m
        1
    azh7138m  
       2018-10-08 09:33:09 +08:00 via Android
    https://github.com/dontsueme/shtpl

    类似这种东西吗?
    xinhangliu
        2
    xinhangliu  
    OP
       2018-10-08 09:37:51 +08:00
    @azh7138m 对,但这个并不是纯 shell scripts 实现的。
    wizardoz
        3
    wizardoz  
       2018-10-08 09:37:56 +08:00
    为啥要用 shell 来实现这玩意我好奇怪?把现有的模板引擎支持标准输入输出调用,它就可以在 shell 中使用了啊。
    xinhangliu
        4
    xinhangliu  
    OP
       2018-10-08 09:40:54 +08:00
    @wizardoz 想用来配置配置文件,所以最好能不引入依赖。
    azh7138m
        5
    azh7138m  
       2018-10-08 09:48:06 +08:00 via Android
    @xinhangliu 是 shell 实现的啊,我看没有依赖
    congeec
        6
    congeec  
       2018-10-08 10:10:06 +08:00
    shell 现有的特性足够当模板引擎了
    geelaw
        7
    geelaw  
       2018-10-08 10:15:00 +08:00
    我的 blog 就是 PowerShell,不过也有外部命令。
    Firxiao
        8
    Firxiao  
       2018-10-08 10:21:29 +08:00
    shell 的话用 awk 实现过一个配置调用. 不过顶多算可用 不够优雅, 感觉还是 Python 好用些.
    dudesun
        9
    dudesun  
       2018-10-08 12:00:57 +08:00   ❤️ 1
    Mo - Mustache Templates in Bash

    https://github.com/tests-always-included/mo
    yanaraika
        10
    yanaraika  
       2018-10-08 12:05:36 +08:00
    #!/usr/bin/env bash

    eval "echo \"$(cat $1)\""

    用法:
    temp.tmpl
    Hello ${MY_USERNAME}

    MY_USERNAME="foobar" ./render.sh temp.tmpl

    输出
    Hello foobar
    yanaraika
        11
    yanaraika  
       2018-10-08 12:06:33 +08:00
    @yanaraika 注意已经有的环境变量以及安全问题
    kkeybbs
        12
    kkeybbs  
       2018-10-08 12:28:06 +08:00 via iPhone
    配置文件不会太复杂,目前装了 gettext 用 envsubst
    agagega
        13
    agagega  
       2018-10-08 14:26:09 +08:00 via iPhone
    我想知道有没有用 Python Ruby 这类正经脚本语言做的 Shell
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5660 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 06:45 · PVG 14:45 · LAX 22:45 · JFK 01:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.