Вы можете передавать аргументы скрипту gnuplot начиная с версии 5.0 с флагом -c
. Эти аргументы доступны через переменные ARG0
к ARG9
, ARG0
будучи сценарий, и ARG1
для ARG9
строковых переменных. Количество аргументов определяется как ARGC
.
Например, следующий скрипт ("script.gp")
#!/usr/local/bin/gnuplot --persist
THIRD=ARG3
print "script name : ", ARG0
print "first argument : ", ARG1
print "third argument : ", THIRD
print "number of arguments: ", ARGC
можно назвать как:
$ gnuplot -c script.gp one two three four five
script name : script.gp
first argument : one
third argument : three
number of arguments: 5
или в рамках gnuplot как
gnuplot> call 'script.gp' one two three four five
script name : script.gp
first argument : one
third argument : three
number of arguments: 5
В gnuplot 4.6.6 и более ранних версиях существует call
механизм с другим (теперь устаревшим) синтаксисом. Аргументы доступны через $#
, $0
, ..., $9
. Например, тот же скрипт выше выглядит так:
#!/usr/bin/gnuplot --persist
THIRD="$2"
print "first argument : ", "$0"
print "second argument : ", "$1"
print "third argument : ", THIRD
print "number of arguments: ", "$#"
и он вызывается в gnuplot как (помните, версия <4.6.6)
gnuplot> call 'script4.gp' one two three four five
first argument : one
second argument : two
third argument : three
number of arguments: 5
Обратите внимание, что для имени скрипта нет переменной, поэтому $0
есть первый аргумент, и переменные вызываются в кавычках. Невозможно использовать это непосредственно из командной строки, только с помощью хитростей, как предложено @ con-fu-se.
if
для предоставления значений по умолчанию.if ! exists("filename") filename='default.data'