我有一个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] 删除。
我来说两句