Jawaban:
Apakah ini terlihat diinginkan oleh Anda?
// 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('..');
Jika demikian, ShellJS bisa menarik, itu
implementasi portabel (termasuk Windows) dari perintah shell Unix di atas API Node.js.
Saya tidak yakin apakah ini dapat digunakan sebagai shell login berfitur lengkap. (Mungkin dengan beberapa pembungkus?)
Anda bisa berargumen bahwa itu bukan benar-benar shell, tetapi apakah Anda tahu TermKit ? Itu terbuat dari Node.js + Webkit, Anda bisa menggunakan JS untuk memperpanjangnya (saya kira); bahasa shell masih Bash (-ish).
cmd arguments
sintaks. Sebagai contoh psh
menambahkan sintaks seperti itu ke bahasa perl dari pemahaman saya sehingga sepertinya lebih mirip shell gnp.github.io/psh yang mungkin ada contoh counter tapi saya belum menemukannya.
sed({i:1}, 'BUILD_VERSION', 'v0.1.2', file)
. Akan lebih baik menggunakan fungsi async dengan menunggu, jadi paralel akan lebih cepat.
Mozilla INC menawarkan javascript
shell : see Introduction_to_the_JavaScript_shell
Contoh shell javascript dalam shell sistem :
$ js
js> str = "welcome on *nix side"
"welcome on *nix side"
js> str.indexOf("nix");
12
js>
Tidak ada masalah yang terdeteksi karena saya menggunakannya untuk tujuan pengujian.
js
paket.
Jika Anda menggunakan Ubuntu atau sistem berbasis debian lainnya, Anda dapat menginstal badak (dari Mozilla.org).
sudo apt-get install rhino
Ini memasok js melalui alternatif:
=== /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 ===
Jadi memanggil badak atau js akan memberi Anda shell JavaScript.
Edit (2014-06-30):
badak baik untuk dengan cepat menguji beberapa kode javascript dalam file, tetapi itu bukan shell interaktif, sehingga tidak mendukung gaya mengedit readline GNU. Untuk pekerjaan interaktif, Anda dapat memilihnodejs
: di Ubuntu / debiansudo apt-get install nodejs
. Ini harus menyediakanjs
shell yanglebih interaktif(aktifkan menggunakan perintahjs
) di mana Anda dapat mengedit baris dan mengingat riwayat dengan tombol panah atas / bawah. Untuk daftar opsi yang lebih panjang, lihat https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells
Di Chrome dan Firefox, jika Anda menekan F12 itu memunculkan alat pengembang. Di sana Anda bisa menemukan tab yang disebut konsol, tempat Anda bisa mengetik dan menguji skrip JavaScript. Ini memiliki penyelesaian kode dan fitur lainnya juga.
bash
atau zsh
(dll.)