我想要的是:
1.)将配置文件作为模板,使用$version $path等变量(例如apache config)
2.)使用shell脚本“填写”模板的变量并将生成的文件写入磁盘.
这是可能的shell脚本.如果你可以命名一些我可以完成这个或一些好链接的命令/工具,我将非常感谢.
这是非常可能的.实现这个的一个非常简单的方法是模板文件实际上是脚本并使用shell变量,例如
原文链接:https://www.f2er.com/bash/386076.html#! /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%或不太可能意外触发的内容.