在Shell脚本中使用Linux进行模板化?

前端之家收集整理的这篇文章主要介绍了在Shell脚本中使用Linux进行模板化?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要的是:

1.)将配置文件作为模板,使用$version $path等变量(例如apache config)

2.)使用shell脚本“填写”模板的变量并将生成文件写入磁盘.

这是可能的shell脚本.如果你可以命名一些我可以完成这个或一些好链接的命令/工具,我将非常感谢.

这是非常可能的.实现这个的一个非常简单的方法是模板文件实际上是脚本并使用shell变量,例如
#! /bin/bash
version="1.2.3"
path="/foo/bar/baz"
cat > /tmp/destfile <<-EOF
here is some config for version $version which should
also reference this path $path
EOF

您甚至可以通过指定version = $1和path = $2在命令行上进行配置,因此您可以像bash script / foo / bar / baz 1.2.3一样运行它. – EOF之前在忽略行之前导致空格,如果不需要该行为,请使用plain<< EOF. 另一种方法是使用sed的搜索和替换功能

#! /bin/bash
version="1.2.3"
path="/foo/bar/baz"
sed -e "s/VERSION/$version/g" -e "s/PATH/$path/" /path/to/templatefile > /tmp/destfile

这将替换字符串VERSION和PATH的每个实例.如果存在其他原因,这些字符串将出现在模板文件中,您可能会使搜索和替换为VERSION或%VERSION%或不太可能意外触发的内容.

原文链接:https://www.f2er.com/bash/386076.html

猜你在找的Bash相关文章