我想通过管道将“模板”文件的输出输出到MySQL中,该文件中散布着像${dbName}
这样的变量。替换这些实例并将输出转储到标准输出的命令行实用程序是什么?
发布于 2009-01-06 07:10:07
使用/bin/sh
。创建一个设置变量的小shell脚本,然后使用shell本身解析模板。像这样(编辑以正确处理换行符):
文件template.txt:
the number is ${i}
the word is ${word}
文件script.sh:
#!/bin/sh
#Set variables
i=1
word="dog"
#Read in template one line at the time, and replace variables (more
#natural (and efficient) way, thanks to Jonathan Leffler).
while read line
do
eval echo "$line"
done < "./template.txt"
输出:
#sh script.sh
the number is 1
the word is dog
发布于 2011-05-19 23:19:00
考虑到最近的兴趣,我再次考虑了这一点,我认为我最初考虑的工具是m4
,用于自动工具的宏处理器。因此,不使用我最初指定的变量,而是使用:
$echo 'I am a DBNAME' | m4 -DDBNAME="database name"
发布于 2017-02-22 17:01:45
创建rendertemplate.sh
#!/usr/bin/env bash
eval "echo \"$(cat $1)\""
和template.tmpl
Hello, ${WORLD}
Goodbye, ${CHEESE}
渲染模板:
$ export WORLD=Foo
$ CHEESE=Bar ./rendertemplate.sh template.tmpl
Hello, Foo
Goodbye, Bar
https://stackoverflow.com/questions/415677
复制相似问题