Respuestas:
¿Te parece deseable?
// 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 es así, ShellJS podría ser interesante, es
Una implementación portátil (incluido Windows) de comandos de shell de Unix en la parte superior de la API Node.js.
Sin embargo, no estoy seguro de si esto podría usarse como un shell de inicio de sesión con todas las funciones. (¿Quizás con algo de envoltura?)
Podrías argumentar que no es realmente un caparazón, pero ¿conoces TermKit ? Está hecho de Node.js + Webkit, podría usar JS para extenderlo (supongo); el lenguaje de shell sigue siendo Bash (-ish).
cmd arguments
sintaxis. Por ejemplo, psh
agrego dicha sintaxis al lenguaje perl desde mi punto de vista, por lo que parece más un típico shell gnp.github.io/psh Puede haber un contraejemplo, pero aún no lo he encontrado.
sed({i:1}, 'BUILD_VERSION', 'v0.1.2', file)
en su lugar. Sería mejor usar funciones asíncronas con wait, por lo que paralelo sería más rápido.
Mozilla INC ofrece un javascript
shell : consulte Introducción_a_el_Shell de JavaScript
Ejemplo de un shell javascript en un shell del sistema :
$ js
js> str = "welcome on *nix side"
"welcome on *nix side"
js> str.indexOf("nix");
12
js>
No se detectaron problemas ya que lo uso con fines de prueba.
js
paquete.
Si está en Ubuntu o en cualquier otro sistema basado en Debian, puede instalar Rhino (desde Mozilla.org).
sudo apt-get install rhino
Suministra js a través de alternativas:
=== /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 ===
Entonces, llamar a rhino o js te dará un shell de JavaScript.
Editar (2014-06-30):
rhino es bueno para probar rápidamente algún código javascript en un archivo, pero no es un shell interactivo, por lo que no admite el estilo de edición de línea de lectura GNU. Para el trabajo interactivo, puede preferirnodejs
: en Ubuntu / debiansudo apt-get install nodejs
. Esto debería proporcionar unjs
shellmás interactivo(invocar usando el comandojs
) donde puede editar líneas y recuperar el historial con las teclas de flecha arriba / abajo. Para obtener una lista más larga de opciones, consulte https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells
En Chrome y Firefox, si presiona F12, se muestran herramientas de desarrollador. Allí podría encontrar una pestaña llamada consola, donde podría escribir y probar los scripts de JavaScript. Tiene finalización de código y otras características también.
bash
o zsh
(etc.)