Vous pouvez passer des arguments à un script gnuplot depuis la version 5.0, avec l'indicateur -c
. Ces arguments sont accessibles via les variables ARG0
à ARG9
, ARG0
étant le script, et ARG1
aux ARG9
variables de chaîne. Le nombre d'arguments est donné par ARGC
.
Par exemple, le script suivant ("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
peut être appelé comme:
$ gnuplot -c script.gp one two three four five
script name : script.gp
first argument : one
third argument : three
number of arguments: 5
ou dans gnuplot comme
gnuplot> call 'script.gp' one two three four five
script name : script.gp
first argument : one
third argument : three
number of arguments: 5
Dans gnuplot 4.6.6 et versions antérieures, il existe un call
mécanisme avec une syntaxe différente (désormais obsolète). Les arguments sont accessibles par $#
, $0
..., $9
. Par exemple, le même script ci-dessus ressemble à:
#!/usr/bin/gnuplot --persist
THIRD="$2"
print "first argument : ", "$0"
print "second argument : ", "$1"
print "third argument : ", THIRD
print "number of arguments: ", "$#"
et il est appelé dans gnuplot comme (rappelez-vous, version <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
Notez qu'il n'y a pas de variable pour le nom du script, de même que $0
le premier argument, et les variables sont appelées entre guillemets. Il n'y a aucun moyen de l'utiliser directement à partir de la ligne de commande, uniquement par des astuces comme celle suggérée par @ con-fu-se.
if
pour fournir des valeurs par défaut.if ! exists("filename") filename='default.data'