Правильная строка сценария GNUPlot, поддерживающая все аргументы - PullRequest
0 голосов
/ 30 января 2019

Как правильно указать строку shebang исполняемого сценария GNUPlot, чтобы все аргументы были правильно переданы во всех случаях?Я хочу, чтобы пользователи могли взаимодействовать со сценарием, как и другие исполняемые файлы командной строки.Это лучшее решение, которое я нашел, но оно не всегда работает: -

#!/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 интерпретирует аргументы скрипта и игнорирует все, о чем он не знает.Я ожидаю, что что-то не так с моей линией Шебанга.Как передать все аргументы с помощью сценария заговора gnu, запускаемого из командной строки, чтобы я мог написать сценарий GNUPlot, который может принимать -h и обрабатывать его?

...