我有这样的简单脚本:
#!/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
使用我的变量值,而不是该字符串中的名称?
答案1
删除此处文档限制字符串周围的单引号EOF
以避免抑制参数替换。更多细节这里。
特别要注意的是”例19-7。参数替换已关闭”和”例19-8。一个脚本生成另一个脚本”。