我正在执行任务" 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 /"我没有被执行。
有什么想法吗?
答案 0 :(得分:2)
我怀疑执行cd
命令 ,但这样做不会影响后续命令。它作为自己的进程执行,所以一旦完成,下一个进程就会在完全相同的目录中启动。
这应该有效:
command: ['sh -c "cd /; ls"'],