cd命令未在grunt-ssh任务上执行

时间:2014-11-05 17:52:16

标签: javascript ssh gruntjs task grunt-ssh

我正在执行任务" grunt-ssh" github/ssh,它工作正常,除了cd命令,这是我的代码:

  grunt.initConfig({
      sshexec: {
          connect: {
            command: ['ls'],
            options: {
            host: 'some_host',
            username: 'user',
            password: 'pass'
         }
     }
 });

此输出例如是:/ folder1,/ folder2,/ etc,/ etc

但当我用例如:

运行相同的任务时
command: ['cd /', 'ls'],

(输出应为: / root ,/ foldera,/ folderb,/ etc,/ etc) 但不是我得到相同:/ folder1,/ folder2,/ etc,/ etc 它似乎是命令" cd /"我没有被执行。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我怀疑执行cd命令 ,但这样做不会影响后续命令。它作为自己的进程执行,所以一旦完成,下一个进程就会在完全相同的目录中启动。

这应该有效:

        command: ['sh -c "cd /; ls"'],