2

嘿伙计们!我在编写 bash 脚本以运行 50 次生成数据文件然后将其绘制到文件的脚本时遇到问题。我是这样写的,但它不起作用

#!/bin/bash
for i in {1..50}
do
    ./ampl ampltst1 # generates different res.txt file each time
    /usr/bin/gnuplot <<\__EOF
    set xrange [-2:2]
    set yrange [-2:2]
    set term png
    set output "image-${i}.png"
    plot "res.txt" u 1:2 w lines, "res.txt" u 3:4 w lines, "res.txt" u 5:6 w li$
    pause -1
    __EOF
done

请帮我修复这个脚本!

4

1 回答 1

3

可能你有缩进问题:__EOF必须没有任何前导空格:

...
    /usr/bin/gnuplot <<\__EOF
    set xrange [-2:2]
    ...
__EOF
done

也不\需要符号。

HERE-IS-DOCUMENT 的内容也会缩进。gnuplot 可以吗?

如果不是,您必须删除缩进:

for i in {1..50}
do
    ./ampl ampltst1 # generates different res.txt file each time
    /usr/bin/gnuplot <<__EOF
set xrange [-2:2]
set yrange [-2:2]
set term png
set output "image-${i}.png"
plot "res.txt" u 1:2 w lines, "res.txt" u 3:4 w lines, "res.txt" u 5:6 w li$
pause -1
__EOF
done
于 2013-05-13T11:41:18.100 回答