Você pode passar argumentos para um script gnuplot desde a versão 5.0, com a flag -c
. Esses argumentos são acessados pelas variáveis ARG0
para ARG9
, ARG0
sendo o script e ARG1
para ARG9
variáveis de cadeia. O número de argumentos é dado por ARGC
.
Por exemplo, o seguinte script ("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
pode ser chamado como:
$ gnuplot -c script.gp one two three four five
script name : script.gp
first argument : one
third argument : three
number of arguments: 5
ou dentro do gnuplot como
gnuplot> call 'script.gp' one two three four five
script name : script.gp
first argument : one
third argument : three
number of arguments: 5
No gnuplot 4.6.6 e versões anteriores, existe um call
mecanismo com uma sintaxe diferente (agora obsoleta). Os argumentos são acessados através $#
, $0
, ..., $9
. Por exemplo, o mesmo script acima se parece com:
#!/usr/bin/gnuplot --persist
THIRD="$2"
print "first argument : ", "$0"
print "second argument : ", "$1"
print "third argument : ", THIRD
print "number of arguments: ", "$#"
e é chamado dentro do gnuplot como (lembre-se, versão <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
Observe que não há variável para o nome do script, assim $0
como o primeiro argumento, e as variáveis são chamadas entre aspas. Não há como usar isso diretamente da linha de comando, apenas através de truques como o sugerido por @ con-fu-se.
if
para fornecer padrões.if ! exists("filename") filename='default.data'