Как правильно указать строку 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 и обрабатывать его?