I’m reading this and interpreting that line 27 of that script is
And your interpretation is wrong. Line 27 is actuallly
sudo echo "${server_service}" > /lib/systemd/system/server.service
${server_service}
is read from the file I posted in the 2nd image. Since it was a test script I hadn’t bothered implementing any escaping tools, I wanted to make sure terraform allowed this first.
No, you’re still misunderstanding what’s being done.
${server_service}
is an injected string, the string is the whole contents of the file. That file is not stored locally on the server, except through being injected here(by a terraform file template). And no,printf
won’t be any better thanecho
because its not format string, and I don’t want any formatting from printf applied to it.