0

对不起,如果我忽略了一些愚蠢的事情......

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。使用命令(xnatCli)从另一台 linux 机器上使用 putty 或 ssh'ing 效果很好。但是在此代码实例中不起作用。ssh.net.RunCommand() 的字符串长度限制可能吗?我在做傻事吗?

4

2 回答 2

0

尝试使用 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-05-26T16:05:47.113 回答
-1

试试这个代码:

string xnatCli = "your command here";

SshCommand cmd = client.CreateCommand(xnatCli);

cmd.Execute();
于 2014-06-04T05:03:21.247 回答