Existe-t-il un moyen de lire les arguments de ligne de commande dans un script Gretl ?
-
23-12-2019 - |
Question
Je veux pouvoir transmettre des arguments à un script Gretl à partir de la ligne de commande/du script bash.
Alternativement, si j'ouvre Gretl à partir d'un script bash, existe-t-il un moyen d'envoyer ensuite les commandes du script bash vers la console gretl dans la fenêtre du terminal ?
La solution
s'avère que cela n'est pas possible.Fini par avoir à imprimer à et lire à partir d'un fichier texte afin de passer plusieurs arguments.
Ma recommandation est de ne jamais utiliser la fonction de ligne de commande gretls.Il a une assez belle interface graphique de gâcher, mais si vous souhaitez utiliser une telle bibliothèque dans le cadre d'une application, utilisez R.
Autres conseils
Vous pouvez passer des arguments via (Bash) Variables d'environnement.De l'intérieur gretl, ils peuvent être récupérés au moyen de la commande getenv ().
C'est parfaitement possible via les variables d'environnement ;J'utilise cette astuce tout le temps lors de l'exécution de gros travaux.
Supposons que vous ayez un script comme celui-ci dans le fichier f.inp
string foo = getenv("A")
scalar bar = ngetenv("N")
printf "%g kilograms of %s\n", bar, foo
En bash, vous pouvez simplement y aller A="bread" N=3 gretlcli -b -q f.inp
et obtenir
? string foo = getenv("A")
Generated string foo
? scalar bar = ngetenv("N")
Generated scalar bar = 3
3 kilograms of bread