Как выводить переменные, используя cat в файл?

9

У меня есть простой скрипт, как это:

#!/bin/bash

BOO=bla-bla-bla

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

Все же это выводит в файл:

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

Как заставить catиспользовать мои значения переменных, а не имена внутри этой строки?

myWallJSON
источник

Ответы:

15

Бросьте одинарные кавычки вокруг строки ограничения здесь-документа, EOFчтобы избежать подавления подстановки параметров. Подробнее здесь .

Особенно обратите внимание на « Пример 19-7. Подстановка параметров отключена » и « Пример 19-8. Сценарий, который генерирует другой сценарий » .

Iruvar
источник
1
@sukminder, спасибо. Будем помнить об этом в будущем
iruvar