空格在nginx conf文件中是否重要?

我有一个nginx conf文件,由于使用环境variables,我有一个shell脚本回声,这个文件我称为nginx.conf.template ,然后我把回应的结果放到实际的nginx.conf ,请参阅shell脚本bellow:

 #!/bin/sh function subst() { eval echo -E "$2"; } mapfile -c 1 -C subst < nginx.conf.template > nginx.conf 

我唯一的问题是,它删除所有的缩进空白,我想这会造成一个问题,但是我运行这个nginx服务器的docker容器似乎很好。 我没有缩进是否重要? 如果它确实重要,可以回声保留所说的空白?

这不是删除所有的空白。 它将每个空白块都减less到一个空间。 对于你的大部分nginx.conf这不会伤害任何东西。 如果你用多个空格引用了string,那么上面的命令也会改变它们。 您可以通过在模板中查询引号来轻松检查。

而不是调整echo以保留空白,可能会更容易在脚本中构build您的模板作为heredoc 。

摆脱额外的空白可能对于减lessembedded式环境中的内存占用情况非常有用,但是除非严格限制资源,否则从模板到实际configuration的格式化将使debugging更加愉快。