我想使用gulpshell
从gulp运行shell命令。我看到下面这个成语被用于gulpfile。
这是从吞咽任务中运行命令的惯用方法吗?
var cmd = 'ls';
gulp.src('', {read: false})
.pipe(shell(cmd, {quiet: true}))
.on('error', function (err) {
gutil.log(err);
});
使用gulp 4,您的任务可以直接返回一个子进程以表示任务完成:
'use strict';
var cp = require('child_process');
var gulp = require('gulp');
gulp.task('reset', function() {
return cp.execFile('git checkout -- .');
});
gulp-v4-running-shell-commands.md
保持控制台输出不变的新方法(例如,使用颜色):
见:https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options
var gulp = require('gulp');
var spawn = require('child_process').spawn;
gulp.task('my-task', function (cb) {
var cmd = spawn('cmd', ['arg1', 'agr2'], {stdio: 'inherit'});
cmd.on('close', function (code) {
console.log('my-task exited with code ' + code);
cb(code);
});
});
已被列入黑名单。你应该改用glp-exec,它也有更好的留档。
对于您的情况,它实际上说明:
注意:如果您只想运行命令,只需运行命令,不要使用此插件:
var exec = require('child_process').exec;
gulp.task('task', function (cb) {
exec('ping localhost', function (err, stdout, stderr) {
console.log(stdout);
console.log(stderr);
cb(err);
});
})
问题内容: 我在一个应用程序上工作,但有一个关于从Java应用程序运行shell命令的问题。这是代码: 但是当我尝试执行命令时: myapp读取 为两个单独的参数。但是我只想读取一个参数。 当我直接从终端运行此命令时,它执行成功。 我试过,, 但对我没有工作。我如何才能将此参数作为一个参数读取。 问题答案: 我记得exec方法的重载分别为参数提供了一个参数。你需要用那个 对。就这个 只需将命令行和
我有一个案例,我想问我可以解决与Spring壳。我有一个Main.jar应用程序,它有几个部署在Wildly服务器上的Spring任务。在我的例子中,我不能停止或重新部署main.jar,因为必须不停地提供服务。
gulp-shell A handy command line interface for gulp Installation npm install --save-dev gulp-shell Usage const gulp = require('gulp')const shell = require('gulp-shell')gulp.task('example', () => { ret
问题内容: 我有一个使用WINE在Linux上运行的Windows程序。 如何从Windows程序调用Linux Shell命令? 问题答案: 编辑:user1182474的评论是正确的; Wine不会隔离它运行的程序。(它试图隐藏它,但不是很彻底。)我完全无法使用Google。Psen在下面的评论更正确,并引用了FAQ。(请注意,要使其正常工作,您可能需要通过Wine驱动器映射获得程序的目录。或
问题内容: 我正在尝试从GNU / Linux平台上的Java应用程序执行shell命令。问题是,尽管它可以从bash成功运行,但调用另一个Java应用程序的脚本永远不会结束。我试图调试它: 我尝试使用:ProcessBuilder(); 和Runtime.getRuntime()。exec(cmd); 看起来它正在等待完成。有任何想法吗? 谢谢,Laurențiu 问题答案: 您是否正在处理标准
问题内容: 我正在尝试在我编写并按下的应用程序中从应用程序仿真器终端(您可以在Google Play中找到它)执行此命令enter,因此请编写: 然后再次按,并使用的新功能开始录制屏幕。 因此,我尝试使用以下命令从Java执行相同的代码: 但是不起作用,因为未创建文件。显然,我在装有android kitkat的有根设备上运行。问题出在哪里?我该如何解决?因为从终端仿真器工作并且在Java中不行?