执行以下代码时
list="$(Result "$VARDB" "$VAR2" - <<-EOT
SELECT d.day || '@' || t.mo
FROM daa a,dab b;
EOT)"
我收到以下错误:
warning: here-document at line 5 delimited by end-of-file (wanted `EOT')
该代码在 bash 版本 3.2.25 下运行良好,但在版本 4.1.2 下触发错误
请您参考如下方法:
试试这个:
list="$(Result "$VARDB" "$VAR2" - <<EOT
SELECT d.day || '@' || t.mo
FROM daa a,dab b;
EOT
)"
这是因为here-doc实际上以任何字符串开头。因此,开头是 EOT
,找到文件结尾而不是 EOT
。
shell 只看到 EOT)
而不是 EOT