Réponses:
Cela vous semble-t-il souhaitable?
// Replace macros in each .js file
cd('lib');
ls('*.js').forEach(function(file) {
sed('-i', 'BUILD_VERSION', 'v0.1.2', file);
sed('-i', /.*REMOVE_THIS_LINE.*\n/, '', file);
sed('-i', /.*REPLACE_LINE_WITH_MACRO.*\n/, cat('macro.js'), file);
});
cd('..');
Si oui, ShellJS pourrait être intéressant, c'est
une implémentation portable (Windows incluse) des commandes shell Unix au-dessus de l'API Node.js.
Je ne sais pas si cela pourrait être utilisé comme un shell de connexion complet. (Peut-être avec un peu d'emballage?)
Vous pourriez dire que ce n'est pas vraiment un shell, mais connaissez-vous TermKit ? Il est fait de Node.js + Webkit, vous pouvez utiliser JS pour l'étendre (je suppose); le langage shell est toujours Bash (-ish).
cmd arguments
syntaxe. Par exemple, psh
ajoute une telle syntaxe au langage perl de ma compréhension, il apparaît donc plus comme un shell typique gnp.github.io/psh Il pourrait y avoir un contre-exemple mais je ne l'ai pas encore trouvé.
sed({i:1}, 'BUILD_VERSION', 'v0.1.2', file)
place. Il serait préférable d'utiliser les fonctions asynchrones avec wait, donc le parallèle serait plus rapide.
Mozilla INC propose un javascript
shell : voir Introduction_to_the_JavaScript_shell
Exemple de shell javascript dans un shell système :
$ js
js> str = "welcome on *nix side"
"welcome on *nix side"
js> str.indexOf("nix");
12
js>
Aucun problème détecté depuis que je l'utilise à des fins de test.
js
package.
Si vous utilisez Ubuntu ou tout autre système basé sur Debian, vous pouvez installer rhino (depuis Mozilla.org).
sudo apt-get install rhino
Il fournit js via des alternatives:
=== /usr/bin/js is a symlink... following it
lrwxrwxrwx 1 root root 20 Nov 21 08:54 /usr/bin/js -> /etc/alternatives/js
=== /etc/alternatives/js is a symlink... following it
lrwxrwxrwx 1 root root 14 Nov 21 08:54 /etc/alternatives/js -> /usr/bin/rhino
=== /usr/bin/rhino is owned by package: rhino ===
Donc, appeler rhino ou js vous donnera un shell JavaScript.
Modifier (2014-06-30):
rhino est bon pour tester rapidement du code javascript dans un fichier, mais ce n'est pas un shell interactif, donc il ne prend pas en charge le style d'édition GNU readline. Pour le travail interactif, vous pouvez préférernodejs
: sur Ubuntu / debiansudo apt-get install nodejs
. Cela devrait fournir unjs
shellplus interactif(invoquer en utilisant la commandejs
) où vous pouvez éditer des lignes et rappeler l'historique avec les flèches haut / bas. Pour une liste plus longue d'options, voir https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells
Dans Chrome et Firefox, si vous appuyez sur F12, cela fait apparaître des outils de développement. Là-bas, vous pouvez trouver un onglet appelé console, où vous pouvez taper et tester des scripts JavaScript. Il a un code complet et d'autres fonctionnalités aussi.
bash
ou zsh
(etc.)