Відповіді:
Вам це виглядає бажано?
// 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('..');
Якщо так, ShellJS може бути цікавим, це так
портативна реалізація команд оболонки Unix, що знаходиться на вершині API Node.js.
Я не впевнений, чи можна це використовувати як повнофункціональну оболонку входу. (Може, з деяким обгортанням?)
Ви можете заперечити, що це насправді не оболонка, але чи знаєте ви TermKit ? Він зроблений з Node.js + Webkit, ви можете використовувати JS для його розширення (я думаю); мова оболонки все ще баш (-іш).
cmd arguments
синтаксису. Наприклад, psh
додає такий синтаксис мові perl з мого розуміння, тому він виглядає більше як типова оболонка gnp.github.io/psh Можливо, є приклад лічильника, але я його ще не знайшов.
sed({i:1}, 'BUILD_VERSION', 'v0.1.2', file)
натомість. Було б краще використовувати функції асинхронізації з функцією очікування, тому паралель буде швидшою.
Mozilla INC пропонує javascript
оболонку : див. Introduction_to_the_JavaScript_shell
Приклад оболонки javascript у системній оболонці :
$ js
js> str = "welcome on *nix side"
"welcome on *nix side"
js> str.indexOf("nix");
12
js>
Жодних проблем не виявлено, оскільки я використовую це для тестування.
js
пакет.
Якщо ви перебуваєте на Ubuntu або будь-якій іншій системі на базі debian, ви можете встановити носоріг (з Mozilla.org).
sudo apt-get install rhino
Він постачає js через альтернативи:
=== /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 ===
Тож виклик або носорога, або js дасть вам оболонку JavaScript.
Редагувати (30.06.2014):
rhino добре швидко перевірити код JavaScript у файлі, але він не є інтерактивною оболонкою, тому він не підтримує стиль редагування GNU readline. Для інтерактивної роботи ви можете віддати перевагуnodejs
: на Ubuntu / debiansudo apt-get install nodejs
. Це має забезпечити більш інтерактивнуjs
оболонку (викликати за допомогою командиjs
), де ви можете редагувати рядки та згадувати історію за допомогою клавіш зі стрілками вгору / вниз. Докладніший список параметрів див. На веб-сторінці https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells
У Chrome і Firefox, якщо натиснути F12, він відкриває інструменти для розробників. Там ви можете знайти вкладку під назвою консоль, де ви можете вводити та перевіряти сценарії JavaScript. Він має завершення коду та інші функції.
bash
або zsh
(тощо)