Any ideas? I am attempting to write a script that uses sed.
If done this way it fails
But if i do it this way it works
All things programming and coding related. Subcommunity of Technology.
This community’s icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
And again, using here-document greatly improves readability, like this.
Hmm. I had a look at the example given. I see the idea, but would cat be the thing to use or would it be echo <<-EOF > “$file”?
You need
cat
because it readsstdin
and prints it tostdout
.echo
does not readstdin
, it prints its arguments.I have never used cat like that before. If you just ent cat abcd > file it says abcd doesnt exist but does create “file”. I know you can cat contents of a file into another file but why the <<-EOF > file works is a bit beyond me.
cat
does not createfile
, your shell does when you redirect the standard output with> file
.Alright, I modified it and formatted it. However, for whatever reason, the output HTML in /var/www/html/index.html does not keep the formatting and is all just left aligned as before. That’s not really a problem, just more of a curiosity as to why it did not inherit the formatting of the input.
When using “<<-”, shell removes all tabs from the beginning of each line. So you have to use tabs for formatting inside your script and then spaces for HTML formatting, as in my example. Or use “<<” without dash to preserve tabs.