加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 18:42:24 所属栏目:安全 来源:网络整理
导读:我想要的是: 1.)将配置文件作为模板,使用$version $path等变量(例如apache config) 2.)使用shell脚本“填写”模板的变量并将生成的文件写入磁盘. 这是可能的shell脚本.如果你可以命名一些我可以完成这个或一些好链接的命令/工具,我将非常感谢. 这是非常可能
我想要的是:

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%或不太可能意外触发的内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读