Je cours javascripts à partir de shell en utilisant le moteur de spidermonkey javascript et la plupart des choses fonctionnent au besoin. Je voudrais pouvoir passer des variables aux javascripts comme des arguments de la ligne de commande mais je n'ai pas réussi à trouver un moyen de le faire, ou même si c'est possible.passer des arguments variables à spidermonkey javascript de shell
À titre d'exemple, si j'ai un fichier javascript (de myJs.js) qui analyse le texte à partir des données stockées dans un fichier (data.dat), j'appelle actuellement le javascript avec la syntaxe normale:
js -f myJs.js
et le javascript a lui-même les commandes pour obtenir les données de tout fichier que je veux traiter, comme ceci:
var fileData = read("data.dat");
cela fonctionne bien, mais si je veux réutiliser le javascript pour différents fichiers de données, je dois modifier le nom du fichier dans le javascript chaque fois que je veux l'exécuter pour de nouvelles données.
Ma question est, est-il un moyen de transmettre le nom du fichier (ou toute autre variable) au javascript de la ligne de commande et le récupérer comme argument à l'intérieur du javascript, quelque chose comme:
js -f myJs.js -- "othertData.dat"
où le javascript serait en mesure d'accéder à la valeur « otherData.dat »:
var fileData = commandLine.argument[0];
// (I know commandLine is not an object and argument not a property, just illustrating what I want to do!);
Il peut tout simplement pas possible de le faire. Je peux charger des fichiers à travers le javascript en faisant en sorte que le script lise un autre fichier contenant une liste de noms de fichiers mais en passant directement le nom du fichier depuis la ligne de commande, cela sera beaucoup plus facile. J'ai recherché intensivement des informations à ce sujet et il y a une certaine confusion car vous pouvez passer les arguments de spidermonkey lui-même à javascripts mais je veux passer des variables directement au script d'une manière analogue à passer des arguments variables à un bash scénario:
: myBashScript <myData1> <myData2>
où les arguments variables sont récupérés dans des tableaux d'arguments numérotés:
firstArgument=$1
Si cela ne peut être fait, une déclaration faisant autorité à cet effet pourrait être utile comme je l'ai trouvé ques similaires tions discutées sur le web sans réponse claire (la plupart discutent des arguments propres de spidermonkey plutôt que des variables).
Merci
Veuillez ne pas marquer cela comme un doublon de [link] (http://stackoverflow.com/questions/11073713/how-to-pass-arguments-to-a-script-through-the-spidermonkey-command -line? rq = 1) comme, bien que je sois sûr qu'il veut faire la même chose, la question semble avoir été confondue avec les arguments spidermonkey auxquels je me réfère ici et n'a pas de réponse satisfaisante alors j'espère que cette question clarifiera ce qui est nécessaire et résoudre le problème. Merci. –