2

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
  • 730,956
  • 141
  • 904
  • 1,278
Lucas Lacir
  • 33
  • 1
  • 3

1 Answers1

7

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
  • 741,623
  • 53
  • 500
  • 612