Risposte:
Ti sembra desiderabile?
// 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('..');
Se è così, ShellJS potrebbe essere interessante, lo è
un'implementazione portatile (inclusa Windows) dei comandi della shell Unix sulla parte superiore dell'API Node.js.
Non sono sicuro se questo potrebbe essere usato come shell di login con funzionalità complete, però. (Forse con un po 'di avvolgimento?)
Potresti sostenere che non è davvero una shell, ma conosci TermKit ? È fatto di Node.js + Webkit, potresti usare JS per estenderlo (immagino); il linguaggio shell è ancora Bash (-ish).
cmd arguments
sintassi. Ad esempio, psh
aggiungo tale sintassi al linguaggio perl dalla mia comprensione, in modo che appaia più come una tipica shell gnp.github.io/psh Potrebbe esserci un contro esempio ma non l'ho ancora trovato.
sed({i:1}, 'BUILD_VERSION', 'v0.1.2', file)
invece. Sarebbe meglio usare le funzioni asincrone con wait, quindi il parallelo sarebbe più veloce.
Mozilla INC offre una javascript
shell : vedi Introduzione_a_la_javaScript_shell
Esempio di una shell JavaScript in una shell di sistema :
$ js
js> str = "welcome on *nix side"
"welcome on *nix side"
js> str.indexOf("nix");
12
js>
Nessun problema rilevato da quando lo uso a scopo di test.
js
pacchetto.
Se usi Ubuntu o qualsiasi altro sistema basato su debian, puoi installare rhino (da Mozilla.org).
sudo apt-get install rhino
Fornisce js tramite alternative:
=== /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 ===
Quindi chiamare rhino o js ti darà una shell JavaScript.
Modifica (30/06/2014):
rhino è utile per testare rapidamente del codice javascript in un file, ma non è una shell interattiva, quindi non supporta lo stile di modifica GNU readline. Per il lavoro interattivo, potresti preferirenodejs
: su Ubuntu / debiansudo apt-get install nodejs
. Ciò dovrebbe fornire unajs
shellpiù interattiva(invocare usando il comandojs
) in cui è possibile modificare le linee e richiamare la cronologia con i tasti freccia su / giù. Per un elenco più lungo di opzioni, vedere https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells
In Chrome e Firefox, se si preme F12, vengono visualizzati gli strumenti di sviluppo. Laggiù puoi trovare una scheda chiamata console, dove puoi digitare e testare gli script JavaScript. Ha anche il completamento del codice e altre funzionalità.
bash
o zsh
(ecc.)