在节点/ Grunt中执行特定于操作系统的脚本

威斯瓦纳特

我有一个Grunt任务,该任务在本地计算机上执行.cmd文件以完成其任务。我需要在CI服务器(这是一台Linux计算机)上使用此任务。我有相关的.sh(Linux的shell脚本)。我需要一种在不更改我的Gruntfile的情况下执行这两个方法的方法。

当前,我必须更改我的Gruntfile,以使其在Windows本地工作,而远程文件使用.sh。

欢迎采取任何解决方案。正在检测底层操作系统?还是在内部调用特定于操作系统的命令的相同命令的调用方式?

助剂

您可以利用节点的process.platform的优势

process.platform
您在什么平台上运行:“ darwin”,“ freebsd”,“ linux”,“ sunos”或“ win32”

console.log('这个平台是'+ process.platform);

然后在代码中,根据需要添加文件扩展名:

if (process.platform === "win32") {
    ext = ".cmd";
} else {
    ext = ".sh";
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章