3

我正在尝试将 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')”。为什么是这样 ?

4

1 回答 1

3

正如错误消息所说:您需要使用开始时给出的字符串结束此处的文档,在本例中为 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 的结尾。

于 2012-04-26T12:44:33.853 回答