显而易见的解决方案是
#!/usr/bin/env gnuplot
有关此方法的优缺点的一些讨论,请参阅此问题和我的回答。
但是在您的情况下,您需要将-p
参数传递给gnuplot
-- 并且该#!
行不处理该语法。您可以使用
#!/usr/bin/gnuplot -p
但如果你尝试:
#!/usr/bin/env gnuplot -p
它可能会尝试执行一些名为gnuplot -p
的东西,这当然不存在(它"gnuplot -p"
作为单个参数传递给/usr/bin/env
)。
我使用的一个解决方案是编写一个安装脚本来修改#!
每个系统的行。弄清楚如何做到这一点留作练习。
如果您的主目录在两台计算机上具有相同的完整路径名,您可以这样做:
#!/home/yourname/bin/gnuplot -p
在gnuplot
居住的计算机上$HOME/bin
,这正是您想要的。另一方面,在您要使用的地方/usr/bin/gnuplot
,创建$HOME/bin/gnuplot
一个符号链接到/usr/bin/gnuplot
:
ln -s /usr/bin/gnuplot ~/bin/gnuplot
如果您不想$HOME/bin
在两台机器上弄乱您的目录,或者如果您$HOME
的完整路径名不同,请选择其他目录。例如,您可以将它安装在/tmp/yourname/bin
两台机器上:
mkdir -p /tmp/yourname/bin
ln -s /usr/bin/gnuplot /tmp/yourname/bin/gnuplot # on one machine, OR
ln -s ~/bin/gnuplot /tmp/yourname/bin/gnuplot # on the other
并使用:
#!/tmp/yourname/bin/gnuplot -p