1

I'm creating a bash script that will run only once, but after that, it'll create another bash script. I've tried to use CAT EOT, but the problem is that, instead of copy/paste the text inside the new bash, it "executes" all variables inside.

E.g.: instead of write "date=$(date +%d)", it is writing "date=18" in the new archive.

How can I make it copy/paste, instead of execute the command?

Jonathan Leffler
  • 698,132
  • 130
  • 858
  • 1,229

1 Answers1

6

To prevent variables from being expanded in a here-doc, put quotes around the token.

cat <<'EOT'
This is a here-doc
that contains $variable
EOT
Barmar
  • 669,327
  • 51
  • 454
  • 560