JavaScriptシェルはありますか?


30

最近、私はJSと仕事をしてきましたが、この言語に非常に熱心です。サーバーサイドでJSを実行するためのnode.jsがあることは知っていますが、スクリプト言語としてJSを使用するシェルはありますか?そのようなものが存在する場合、それはどれくらい使いやすく安定していますか?

回答:


17

これはあなたにとって望ましいことですか?

// 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は興味深いかもしれません、それは

Node.js APIの上のUnixシェルコマンドのポータブル(Windowsを含む)実装。

ただし、これがフル機能のログインシェルとして使用できるかどうかはわかりません。(たぶんラッピングがありますか?)

あなたはそれが実際にシェルではないと主張することができますが、TermKitを知っていますか?Node.js + Webkitで構成されているため、JSを使用して拡張できます(推測)。シェル言語はまだBash(-ish)です。


まあ、それはクールに見えます!試してみます。
Jジュニア

厳密にはcmd arguments構文に従っていないため、技術的にはこれをシェルとは考えていません。たとえばpsh、私の理解からperl言語にこのような構文を追加して、典型的なシェルgnp.github.io/pshのように見えるようにします。反例 があるかもしれませんが、まだ見つかりません。
ウィリアム

これをログインシェルとしてどのように設定しますか?繰り返しますが、私はこのようなものが欲しいのですが、私はこれがそれだと確信していません。
ウィリアム

まだbashっぽいので、sed({i:1}, 'BUILD_VERSION', 'v0.1.2', file)代わりに使用できます。awaitで非同期関数を使用する方がよいので、並列処理が高速になります。
inf3rno

ShellJSリンクが壊れています。
yO_

8

Mozilla INCはjavascriptシェルを提供していますIntroduction_to_the_JavaScript_shellを参照してください

システムでのシェルの例:

$ js
js> str = "welcome on *nix side" 
"welcome on *nix side"
js> str.indexOf("nix");          
12
js> 

テスト目的で使用しているため、問題は検出されませんでした。


これは、現在/いくつかのLinuxディストリビューションでjsパッケージとして利用可能です。
goldilocks 16

8

Ubuntuまたは他のdebianベースのシステムを使用している場合は、rhino(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 ===

したがって、rhinoまたはjsを呼び出すと、JavaScriptシェルが提供されます。

編集(2014-06-30):

rhinoはファイル内のJavaScriptコードをすばやくテストするのに適していますが、インタラクティブシェルではないため、GNU readlineスタイルの編集をサポートしていません。インタラクティブな作業の場合はnodejs、Ubuntu / debianを使用することをお勧めしますsudo apt-get install nodejs。これjsにより、js行を編集し、上/下矢印キーで履歴を呼び出すことができる、よりインタラクティブなシェル(コマンドを使用して呼び出す)が提供されます。オプションのより長いリストについては、 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shellsを参照してください。


0

ChromeおよびFirefoxでは、F12キーを押すと開発者ツールが表示されます。そこにはconsoleというタブがあり、JavaScriptスクリプトを入力してテストできます。コード補完などの機能も備えています。


5
あなたは質問を理解していなかったと思います。UNIXシェルについて質問しました。とにかく助けてくれてありがとう。
Jジュニア

1
これ、「JSをスクリプト言語として使用するシェルはありますか?」という質問に答えますbashまたはzsh(など)に代わるものについては何も質問されていません
ロアイマ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.