我正在尝试将 tcsh 脚本转换为 bash 脚本。该脚本以这种方式调用 gnuplot:
#!/bin/tcsh
<script commands>
gnuplot << EOF
set terminal png
<other commands>
plot <args>
我试图将'tcsh'修改为'bash',但我得到“here-document at line x delimited by end-of-file (wanted 'EOF')”。为什么是这样 ?
正如错误消息所说:您需要使用开始时给出的字符串结束此处的文档,在本例中为 EOF。您不能只使用文件末尾来终止此处的文档。
例如,这是我使用 here doc 的脚本中的一个片段:
/usr/bin/gnuplot << GPLOT
set terminal png
set output "$3"
set logscale xy
set xlabel "$1"
set ylabel "$2"
plot "tmp2.$$" notitle
GPLOT
由于我用 开始了 here doc GPLOT
,因此 bash 会查找GPLOT
以指示 here doc 的结尾。