我正在使用 GNUplot 从数据点创建图形,GNUplot 使用简单的脚本,其中包含简单的参数/变量,例如 x 或 y 轴的范围、线条颜色的设置等。当我调用其中一个脚本时,例如:
gnuplot script1.gpl
它工作正常,但是当我跑步时
gnuplot *.gpl
要对当前目录中的所有文件运行它,我遇到了问题,因为如果设置从一个脚本传输到下一个脚本,则会出现一些问题。这可能是因为 gnuplot 不会重置参数,如果我不在以下脚本中显式覆盖它们,则设置仍然存在。这就是为什么我尝试使用 find 以不同的方式运行它:
find . -name '*.gpl' -exec gnuplot {} \;
但我再次得到同样有问题的结果。所以我需要的是一个命令,它为每个文件运行相同的命令,但方式就像为每个文件手动调用一样。
答案1
我希望find
按一次调用即可工作。如果没有创建中间文件,我建议添加 bash (或其他 shell)前缀,以强制它在子 shell 中运行。或者您可以尝试以下操作:
for i in *.gpl
do
( gnuplot "$i" )
done
括号将强制使用子外壳,但我认为不应该需要它。