Respostas:
Isso parece desejável para você?
// 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('..');
Nesse caso, o ShellJS pode ser interessante, é
uma implementação portátil (incluída no Windows) de comandos shell do Unix sobre a API do Node.js.
Não tenho certeza se isso poderia ser usado como um shell de login completo, no entanto. (Talvez com algum embrulho?)
Você poderia argumentar que não é realmente uma concha, mas você conhece o TermKit ? É feito de Node.js + Webkit, você pode usar o JS para estendê-lo (eu acho); o idioma do shell ainda é Bash (-ish).
cmd arguments
sintaxe. Por exemplo, psh
adiciona essa sintaxe à linguagem perl do meu entendimento, para que pareça mais com um shell típico gnp.github.io/psh Pode haver um exemplo de contador, mas ainda não o encontrei.
sed({i:1}, 'BUILD_VERSION', 'v0.1.2', file)
lugar. Seria melhor usar funções assíncronas com aguardar, para que o paralelo fosse mais rápido.
A Mozilla INC oferece um javascript
shell : consulte Introduction_to_the_JavaScript_shell
Exemplo de um shell javascript em um shell do sistema :
$ js
js> str = "welcome on *nix side"
"welcome on *nix side"
js> str.indexOf("nix");
12
js>
Nenhum problema detectado desde que eu o uso para fins de teste.
js
pacote.
Se você estiver no Ubuntu ou em qualquer outro sistema baseado em debian, poderá instalar o rhino (a partir de Mozilla.org).
sudo apt-get install rhino
Ele fornece js atravé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 ===
Portanto, chamar rhino ou js fornecerá um shell JavaScript.
Editar (30/06/2014):
O rhino é bom para testar rapidamente algum código javascript em um arquivo, mas não é um shell interativo, portanto não suporta o estilo de edição de linha de leitura GNU. Para um trabalho interativo, você pode preferirnodejs
: no Ubuntu / debiansudo apt-get install nodejs
. Isso deve fornecer umjs
shellmais interativo(invocar usando o comandojs
) onde você pode editar linhas e recuperar o histórico com as teclas de seta para cima / para baixo. Para uma lista mais longa de opções, consulte https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells
No Chrome e Firefox, se você pressionar F12, ele exibirá as ferramentas do desenvolvedor. Lá, você pode encontrar uma guia chamada console, onde você pode digitar e testar scripts JavaScript. Também possui preenchimento de código e outros recursos.
bash
ou zsh
(etc)