问题标签 [shelljs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
12507 浏览

node.js - 如何在同步模式下运行 node shelljs 并获取 stdout 和 stderr

在 nodejs 脚本中,我有以下代码同步调用并从我正在调用的 shell 脚本返回标准输出:

我还可以运行以下脚本,该脚本将返回标准错误:

但是我想在同步调用中同时接收 stdout 和 stderr 。它可能很明显我在这里错过了,但我无法解决。

我认为您曾经能够在以前的版本中运行以下命令,但现在只返回 undefined:

相关软件版本有:

  • Ubuntu:14.04.3 LTS
  • 节点:4.4.4
  • npm:2.15.1
  • shelljs:0.7.0

任何帮助表示感谢。

0 投票
2 回答
37 浏览

javascript - 将赋值 ax=3 重构为 setter 方法 a->setX(3) 的脚本

我正在将部分代码从 JS 转换为 C++,因此我需要将直接实例变量赋值重构为 setter 方法:

a.xx=3;a->setXx(3);

还有getter方法:

...a.xx......a->getXx()...

目前我使用shelljs (node.js)进行转换。将函数从 oldMethod() 重命名为 newMethod() 的示例命令:

最好我会使用与 setter/getter 相同的技术。但是,我也愿意使用其他可接受的方法。

我的问题:

  1. 我无法使标记的替换工作
  2. 我需要将第一个字母大写
  3. 我不确定如何为 getter 方法设置适当的条件。没有明确的表达方式,X=Y;我不能简单地将所有内容都alphanum.alphanum变成吸气剂,因为它也会替换不正确的表达方式,例如a("foo.doo"); 我的建议:

    一个。无论如何都要手动更新不正确的替换

    湾。提供一组有效的变量名,例如"tag|possition|rotation|..."

0 投票
1 回答
121 浏览

node.js - ShelllJS exec 为每个命令返回 null —— Atom 包开发

我正在创建一个 Atom 包并尝试合并一个ShellJS命令。我想使用该exec()命令,它每次都为每个命令返回 null 。

为什么?

0 投票
1 回答
797 浏览

node.js - 如何抑制 shelljs 中的错误?

当我在节点中运行以下代码时:

我在输出中看到了这一点:

如何抑制标准错误,使其不被显示?

0 投票
1 回答
13413 浏览

javascript - ReferenceError:在 ReactJS 中需要 Shelljs 时未定义进程

我试图在我的核心 React 组件中使用 shelljs。

当我跑

我没有收到任何错误,然后我运行我的服务器并收到以下控制台错误。

我使用 jekyll 作为我的服务器端。目前只从普通的 jekyll 实现过渡到 React。React 实现得很好,因为我在导入 shelljs 模块之前测试了 Header 组件

我是在 javascript 中使用模块的新手,在此先感谢。

0 投票
1 回答
1003 浏览

javascript - shelljs - 获取由 shelljs.exec() 进程创建的进程的进程 ID

所以,我正在处理 Windows 上的一个问题,我无法终止使用 shell.exec(...) 生成的进程。

我正在创建这样的过程:

然后试图像这样杀死它:

它适用于 *nix 但不适用于 Windows(出于某种原因)。

因此,我试图获取由 shell.exec() 进程创建的进程的进程 ID('someBinary --whatever'),并在以后使用它来终止进程。

获取 shell.exec() 进程的 PID 很简单,但我不知道如何获取它产生的进程的 PID。

任何帮助都会很棒。

0 投票
0 回答
6491 浏览

node.js - 无法解析模块“child_process”

我有一个在电子中运行的 angular2 webpack 项目。我正在尝试使用shelljs,但 webpack 无法构建并出现错误:

我的 webpack 配置针对的是我的 polyfillselectron-renderer正在使用zone-node

我尝试将 webpack 目标更改为,node但没有效果。

你可以在paste bin上看到我的整个 webpack 配置

0 投票
0 回答
1979 浏览

shelljs - shelljs:shx 无法正常工作

我在windows平台工作,想在日常工作中使用一些Unix shell命令。所以我通过节点安装shelljs包如下:

安装运行良好。但是我不能使用 shx 作为接口来运行 Unix shell。错误消息说“它不被识别为内部或外部命令”。

那么如何解决这个问题呢?

编辑:找到原因,原来还有另一个节点包名为shx. shelljs和之间的区别shx是:

  • ShellJS:适合编写长脚本,全部在 JS 中,通过 NodeJS 运行(例如 node myScript.js)。
  • shx:适合在 npm 包脚本中编写一次性命令(例如“clean”:“shx rm -rf out/”)。

所以安装 shx 是我需要做的正确举动。

0 投票
0 回答
317 浏览

node.js - 我可以使用 node.js 打开一个新的 shell 窗口或选项卡吗

当我使用shelljs时,如何通过打开另一个 shell 窗口或选项卡来执行脚本?

我需要同时启动 api 服务器和构建应用程序。喜欢

var shell = require('shelljs'); ... shell.exec('node server.js'); shell.exec('npm run build')

0 投票
1 回答
110 浏览

fswatch - 文件更改后发送响应

我想在matlab中使用shelljs执行命令,并在完成向客户端发送响应后:

我不知道如何获得响应,所以我让 matlab 使用 Code (Ok, Fail) 更改文件并使用fswatch观察它,我的目标是在更改后发送 200 状态,但在测试时抛出错误邮差。

我知道这似乎不是这样做的好方法,但任何帮助