所有其他命令似乎都可以正常工作,但似乎我无法使用 ssh.net 库上的 RunCommand() 发送“/”。我需要更改工作目录以使用“cd/home/debian”运行程序。但是当我发送这条线时,似乎什么也没有发生。我仍然留在主目录中。我该如何解决这个问题?

// start the connection 
        var client = new SshClient (host, user,password); 
        client.Connect(); 
 
        command = textBoxCommand.Text;   //taking the command from textbox 
 
        if (command != "") //unless the command is empty 
        { 
            SshCommand sc = client.CreateCommand(command);  
            sc.Execute(); //run command 
            textBoxRecieved.AppendText(command); 
            textBoxRecieved.AppendText("\n"); 
 
            string answer = sc.Result; 
            answer = answer.Replace("\n", "  "); 
            textBoxRecieved.AppendText(sc.Error.Replace("\n", "   ")); 
            textBoxRecieved.AppendText(answer); 
 
            textBoxRecieved.AppendText("\n"); 
            textBoxCommand.Clear(); 
        } 
 
    } 

请您参考如下方法:

实际上,cd 命令可以正常工作,但问题是每个单独的命令都是从主目录执行的。因此,当我使用 pwd 命令检查我的目录时,我发现我仍在主目录中,因为新命令是在主目录中执行的。

对于遇到这个问题的任何人,您可以通过以下方式简单地发送需要连续执行的命令:

SshCommand sc = client.CreateCommand("cd /home/debian && pwd");  


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!