SSH.NET не разрешит эту строку
Извините, если я упустил что-то глупое...
using (var client = new SshClient("ipaddress", "USER", "PASSWORD"))
{
client.Connect();
string xnatCli = @"XNATRestClient -host http://localhost:8080/xnat/ -u admin -p administrator -m PUT -remote ""/data/archive/projects/prj005/subjects/test12/experiments/visit12?xnat:petSessionData/date=12/12/12" + "\"";
//string list = "ls -lrt";
var cmd = client.RunCommand(xnatCli);
cmd.Execute();
var outputQuery = cmd.Result;
Console.Write(outputQuery);
Console.Read();
}
Уважаемые разработчики. Я надеюсь, что кто-то может мне помочь. Я застрял на идеях, почему это не сработает. Я пробовал простые команды, как показано выше ls -lrt в RunCommand(). Он работал нормально, используя putty или ssh'ing с другого компьютера с Linux с помощью команды (xnatCli), работает отлично. Однако не будет работать в этом экземпляре кода. Может быть, ограничение длины строки в ssh.net.RunCommand()? Я делаю что-то глупое?
2 ответа
Попробуйте использовать StringBuilder вместо строки:
StringBuilder response = new StringBuilder();
SshClient client = new SshClient("host", "user", "pass");
client.Connect();
var cmd = client.RunCommand("ls -la");
cmd.Execute();
response.Append(cmd.Result);
client.Disconnect();
Надеюсь, поможет.
Попробуйте этот код:
string xnatCli = "your command here";
SshCommand cmd = client.CreateCommand(xnatCli);
cmd.Execute();