所有其他命令似乎都可以正常工作,但似乎我无法在 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();
}
}
Run Code Online (Sandbox Code Playgroud)
实际上, cd 命令正在运行,但问题是每个单独的命令都是从主目录执行的。因此,当我使用 pwd 命令检查我的目录时,我看到我仍在主目录中,因为新命令是在主目录中执行的。
对于遇到此问题的任何人,您可以通过以下方式简单地发送需要一起连续执行的命令:
SshCommand sc = client.CreateCommand("cd /home/debian && pwd");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1507 次 |
| 最近记录: |