抱歉,如果我疏忽了一些愚蠢的事情。
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();
}亲爱的开发人员。我希望有人能帮助我。我被困在为什么这不能工作的想法上。我在RunCommand()中尝试过上面所示的ls -lrt的简单命令。在另一台linux机器上使用putty或ssh命令(XnatCli)可以很好地工作。但是,在此代码实例中将不起作用。可能是ssh.net.RunCommand()的字符串长度限制?我是不是做了什么傻事?
发布于 2014-05-27 00:05:47
尝试使用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();希望能有所帮助。
发布于 2014-06-04 13:03:21
尝试以下代码:
string xnatCli = "your command here";
SshCommand cmd = client.CreateCommand(xnatCli);
cmd.Execute();https://stackoverflow.com/questions/21605561
复制相似问题