OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

NodeJS中用child_process的exec执行cd指令为什么不工作?


分享到
分类 JS学习   关键字 JavaScript   发布 ourjs  1462864643170
注意 转载须保留原文链接,译文链接,作者译者等信息。  
下面是测试代码

var sys = require('sys'),
    exec = require('child_process').exec;
exec("cd /home/ubuntu/distro", function(err, stdout, stderr) {
        console.log("cd: " + err + " : "  + stdout);
        exec("pwd", function(err, stdout, stderr) {
            console.log("pwd: " + err + " : " + stdout);
            exec("git status", function(err, stdout, stderr) {
                console.log("git status returned " ); console.log(err);
            })
        })
    })

下面是输出

cd: null :
pwd: null : /
git status returned 
{ [Error: Command failed: fatal: Not a git repository (or any of the parent directories): .git ] killed: false, code: 128, signal: null }

像你们看到的那样,node.js用child_process执行cd切换目录不工作。执行git status失败了,因为它没有在正确的工作目录。其它指令都是正常的。

icktoofay 回答:

每一条指令是在不同的进程中执行的。第一条 cd 指令只影响了它本身的进程。所以如果你想在指定文件夹执行 git 相关命令,你就需要指定执行路径:

exec('git status', {cwd: '/home/ubuntu/distro'}, /* ... */);

cwd只是exec众多参数中的其中一个.

原文地址: 点此
社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. React vs Angular 2:冰与火之歌「译」
  2. 五个最佳案例带你解读 Node.js 的前后端之道
  3. 程序bug导致了天大的损失,要枪毙程序猿吗?
  4. 一个程序员是如何搞挂NPM和Node社区的
  5. 前端开发面试题
  6. 微软降低OneDrive的免费存储空间容量,个人云存储热度减退
  7. Google Cloud宣布加入NodeJS基金会
  8. 前端面试问题(二)-史上最全 前端开发面试问题及答案整理
  9. 如日中天的Uber究竟使用什么开发语言?
  10. 使用React提高Angular的渲染性能(译)
  11. AirJD-简单好用的免费建站工具

 相关阅读 - JS学习
  1. 深入理解JavaScrip面向对象和原型继承
  2. JavaScript继承与原型链
  3. 五个最佳案例带你解读 Node.js 的前后端之道
  4. React vs Angular 2:冰与火之歌「译」
  5. NodeJS 文件(夹)压缩/解压方案(zip/unzip)
  6. iPad/iPhone默认input按钮的disabled CSS样式不工作
  7. Array及String的lastIndexOf函数用法及其IE8实现,及为什么要尽量避免使用for in
  8. Express入门教程:一个简单的博客
  9. 用HTML5原生实现拖放或排序
  10. 如何用CSS将select/option文本居中或居右对齐

 关键字 - JavaScript
  1. 少年,不要滥用箭头函数啊:JS中lambda表达式的优缺点和使用场景
  2. JavaScript数组从头开始的位置插入新元素或删除第一个元素
  3. JavaScript中NaN的秘密
  4. 如何用CSS将select/option文本居中或居右对齐
  5. Node.JS中UDP打洞穿透内网路由,架设内网服务器技术详解及源码
  6. 使用Bootstrap、Electron和JavaScript开发桌面应用
  7. 用原生HTML5控件实现输入框自动提示(下拉列表补全)功能
  8. Node.JS通过原型和类继承EventEmitter,实现收发事件的几种方法
  9. WowJS:在滚动页面时添加动画效果的简单实现
  10. 你用什么代码编辑工具开发JavaScript?

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号