2014-02-06 112 views
0

很抱歉,如果我一直忽略了一些愚蠢的......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(); 
} 

親愛developers..I'm希望有人能幫助me..I'm相當卡住想法爲什麼這不起作用。我已經嘗試瞭如上圖所示的RunCommand()中的ls -lrt命令。它使用膩子或從另一臺Linux機器ssh'ing使用命令(xnatCli)正常工作正常。但是在這個代碼實例中不起作用。 ssh.net.RunCommand()的字符串長度限制可能嗎?我在做一些愚蠢的事情嗎?

+0

語言是什麼呢? vb.net,C +,...? – PsychoData

+0

在長行結束時它說'+「\」「;'你是指'+」「」「''或者也許只是將它加到前面的字符串部分'12/12」「」 ;' – PsychoData

+0

心理......我想添加一個「在句尾..兩種方式是正確的..但是,這並不能解釋爲什麼它不會傳遞給runco​​mmand()..乾杯.. – user3276223

回答

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(); 

希望它能幫助。

-1

試試這個代碼:

string xnatCli = "your command here"; 

SshCommand cmd = client.CreateCommand(xnatCli); 

cmd.Execute(); 
相關問題