shell命令不适用于nodejs ssh2

时间:2017-09-28 05:43:20

标签: node.js bash shell libssh2

我正在使用以下库:http://maboiteaspam.github.io/ssh2-utils/

  1. 登录altus实例
  2. 转到目录。
  3. 这是我的代码:

    function postRun(url){
            ssh.runMultiple(server, "sudo docker exec -it abcas /bin/bash", function(err,stdout,stderr,server,conn){
                if(err) console.log(err);
                stdout.on('data', function(data){
                    executeCommands();
    
                });
                stderr.on('data', function(data){
                    console.log(''+data);
                });
                stdout.on('close',function(data){
                    conn.end();
                });
            });
    }
    
    function executeCommands(){
            ssh.runMultiple(server, ['cd /dependencies/scripts'], function(err,stdout,stderr,server,conn){
                if(err) console.log(err);
                stdout.on('data', function(data){
                    ssh.exec(server, 'pwd', function(err,stdout,stderr){
                        if(err) console.log(err);
                    });
                });
                stderr.on('data', function(data){
                    console.log(''+data);
                });
                stdout.on('close',function(data){
                    conn.end();
                });
            });
    }
    

    我收到以下错误:

      

    bash:第0行:cd:/ dependencies / scripts:没有这样的文件或目录

    我不确定我做错了什么。我在某处读到了我需要更改我的shell,但看起来我已经在bash中了。

    我缺少什么,请指教。

1 个答案:

答案 0 :(得分:0)

“ cd /”-表示它进入根目录,因此您必须指定从根目录的父目录开始进入目录的完整路径。