正确的GNUPlot脚本shebang行支持所有参数

时间:2019-01-30 04:50:27

标签: arguments gnuplot shebang

指定可执行GNUPlot脚本的shebang行的正确方法是什么,以便在所有情况下都能正确传递所有参数?我希望用户能够像其他命令行可执行文件一样与脚本进行交互。这是我找到的最好的解决方案,但它并不总是有效:-

#!/opt/local/bin/gnuplot -c    
print   '  ARGC=' . ARGC  .  '  ARG0=' . ARG0 .  '  ARG1=' . ARG1 .  '  ARG2=' . ARG2

示例:-

sh-3.2$ ./csvs.gnu xyz 123
  ARGC=2  ARG0=./csvs.gnu  ARG1=xyz  ARG2=123

完全按预期工作,所以也是如此。

sh-3.2$ ./csvs.gnu xyz -x
  ARGC=2  ARG0=./csvs.gnu  ARG1=xyz  ARG2=-x

但是将-x更改为-h会失败!

sh-3.2$ ./csvs.gnu xyz -h
Usage: gnuplot [OPTION] ... [FILE]
for X11 options see 'help X11->command-line-options'
  -V, --version
  -h, --help
  -p  --persist
  -d  --default-settings
  -c  scriptfile ARG1 ARG2 ... 
  -e  "command1; command2; ..."
gnuplot 5.0 patchlevel 3

看起来GNUPlot正在解释脚本参数,并忽略不知道的任何内容。我希望我的shebang线出问题了。如何通过gnu plot脚本从命令行运行所有参数,以便编写可以接受-h并处理它的GNUPlot脚本?

0 个答案:

没有答案