2014-11-05 80 views
2

我正在運行的任務「咕嚕-SSH」 github/ssh,它工作正常,除了cd命令,這裏是我的代碼:cd命令不咕嚕-SSH任務執行

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

輸出因爲這是例如是:/ folder1中,/文件夾2,/等/等

但是當我例如運行相同的任務:

command: ['cd /', 'ls'], 

(輸出應該是:/根,/ foldera,/ folderb,/ etc,/ etc) 但我沒有得到相同的結果:/ folder1,/ folder2,/ etc,/ etc 它看起來是第二個命令「cd /」,我沒有執行。

任何想法?

+0

https://github.com/israelroldan/grunt-ssh#note – 2016-05-21 03:03:44

回答

2

我懷疑cd命令執行,但以這樣的方式,它不會影響後續的命令。它是作爲自己的進程執行的,所以一旦完成,下一個進程就開始在完全相同的目錄中。

這應該工作:明天

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

我來試試,感謝您的答覆 – flaalf 2014-11-05 22:25:28

+0

就是這樣,它的工作! – flaalf 2014-11-06 11:10:51

+0

這是正確的。見https://github.com/chuckmo/grunt-ssh/issues/24 – andrewrjones 2014-11-06 13:17:13