0

我创建了一个 shell 脚本 (.run),它接受图片名称的前缀作为参数,然后调用 gnuplot。但是,由于某种原因,图片没有保存。代码是:

#!/bin/sh
molecule=$1

echo "Plotting DFT-ADF PY results for $molecule"
echo "Tranmission plot (negatory SO)"
gnuplot -p << EOF
#!/usr/bin/gnuplot
set terminal epslatex size 5,3 color colortext
set output '$molecule_trans.tex'

plot cos(x) w l title 'cos(x)', sin(x) w l title 'sin(x)'

EOF

对于我的学士论文,我必须制作几个相同的情节。此外,计算集群使用排队系统。为了忠实于这个系统,我创建了几个自动执行某些操作的 shell 脚本。特别是,大约 45 个模拟由 shell 脚本调用,然后是一个 shell 脚本,该脚本进入每个模拟的目录并使用 python 文件将数据评估为 [ .dat ] 文件。接下来,它应该使用 gnuplot 文件来制作图形。我使用 EPSLaTeX 制作我的数字,因为它更好。然而,在当前的实现中,这需要我手动编辑各种乳胶文件来重命名图片。

4

1 回答 1

2

如果您需要更多变量并且不想要$1, $2... 混乱:

您必须在变量名周围使用方括号

set output '${molecule}_trans.tex'

因为下划线是变量名的有效字符,并bash查找变量$molecule_trans,请参阅http://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion

于 2013-09-13T11:13:58.737 回答