有 JavaScript shell 吗?

有 JavaScript shell 吗?

最近我一直在使用 JS,我对这门语言非常感兴趣。我知道有节点.js用于在服务器端运行 JS,但是有没有使用 JS 作为脚本语言的 shell?如果存在这样的东西,它的可用性和稳定性如何?

答案1

这看起来对你来说合意吗?

// 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 shell 命令的可移植(包括 Windows)实现。

不过,我不确定这是否可以用作全功能的登录 shell。 (也许有一些包装?)

你可能会说它不是真正的贝壳,但你知道吗术语工具包?它由 Node.js + Webkit 组成,你可以使用 JS 来扩展它(我猜); shell 语言仍然是 Bash(-ish)。

答案2

如果您使用的是 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 ===

所以打电话犀牛或者js会给你一个 JavaScript shell。

编辑(2014-06-30):

犀牛可以快速测试文件中的一些 javascript 代码,但它不是交互式 shell,因此它不支持 GNU readline 风格的编辑。对于交互式工作,您可能更喜欢nodejs:在 Ubuntu/debian 上sudo apt-get install nodejs。这应该提供一个更具交互性的jsshell(使用命令调用js),您可以在其中编辑行并使用向上/向下箭头键调用历史记录。有关更长的选项列表,请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells

答案3

Mozilla INC 提供了一个javascriptshell: 看JavaScript_shell 简介

的例子系统中的外壳:

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

自从我将其用于测试目的以来,没有发现任何问题。

答案4

在 Chrome 和 Firefox 中,如果按 F12,它会调出开发人员工具。在那里您可以找到一个名为“控制台”的选项卡,您可以在其中输入和测试 JavaScript 脚本。它也具有代码完成和其他功能。

相关内容