ShellJS是基于Node.js API的Unix shell命令的可移植实现。您可以使用它来消除shell脚本对Unix的依赖性,同时仍然保留其熟悉而强大的命令。您还可以全局安装它,这样您就可以从Node的外部项目运行它——告别那些粗糙的Bash脚本!
从v6开始,ShellJS在每个节点版本中都经过了自豪的测试。

本项目已通过单位测试,并在以下项目中进行了实战测试:
Firebug - Firefox调试器JSHint ESLint -流行的Javascript linterZepto-jQuery兼容现代浏览器的Javascript库Yeoman-Web应用堆栈和开发工具deployd . com-开源PaaS实现快速API后端生成等等。
如果您有反馈、建议或需要帮助,请随时在我们的问题跟踪器中发帖。
觉得ShellJS很酷?在我们的Wiki页面上查看一些相关项目!
从旧版本升级?查看我们的主要更改页面,了解升级时需要注意的更改。
使用命令行
如果您只是想要跨平台的UNIX命令,请查看我们的新项目shelljs/shx,这是一个向命令行公开shelljs的实用程序。
$ shx mkdir-p foo $ shx touch foo/bar . txt $ shx RM-RF foo
应用程序接口
JS现在支持第三方插件!您可以在wiki中了解更多关于使用插件和编写自己的ShellJS命令的信息。
文档的简要描述

有关所有最新特性的文档,请查看我们的自述文件。要阅读与最新版本一致的文档,请查看npm页面或shelljs.org。
固定
通过国家预防机制:
$ npm安装[-g] shelljs
例子
var shell = requireif){ shell . echo;shell.exit}//复制文件释放dirshell.rmshell.cp//替换每个中的宏。js fileshell.cdshell . ls . foreach { shell . sed;shell.sedshell.sed,file);});shell.cd//同步运行外部工具if。代码!= = 0){ shell . echo;shell.exit}
排除选项
如果您需要传递一个看起来像选项的参数,您可以这样做:
shell.grep//搜索“-v”,没有grep选项shell . CP;//如果已经使用了一个选项,就完成了
全球和本地
我们不再推荐使用ShellJS的全局导入。虽然仍然支持这种便利,但是会污染全局命名空,所以只能谨慎使用。

相反,我们建议本地导入:
var shell = requireshell.echo
命令参考
除非另有说明,否则所有命令将同步运行。所有命令都接受标准的bash globbing字符,这与node glob模块兼容。
有关命令和功能,请查看我们的维基页面。


