9

I have simple script like this:

#!/bin/bash

BOO=bla-bla-bla

cat > ./Makefile <<'EOF'
        Hello
        INCLUDES := -I/data/opt/include/ -Ideps/ -I$BOO/include
EOF

Yet it outputs into file:

 Hello
 INCLUDES := -I/data/opt/include/ -Ideps/ -I$BOO/include

how to make cat use my variables values, not names inside that string?

myWallJSON
  • 1,141

1 Answers1

14

Drop the single quotes around the here-document limit string EOF to avoid suppressing parameter substitution. More details here.

Especially take note of "Example 19-7. Parameter substitution turned off" and "Example 19-8. A script that generates another script".

Runium
  • 28,811
iruvar
  • 16,725