2
Linuxコマンドを実行し、結果をPuTTYのようなWindowsアプリケーションのテキストボックスに表示する方法はありますか?例えばSSH.NETで長い時間コマンドを実行し、結果をTextBoxに連続して表示する
私は次のコマンドに
wget http://centos-webpanel.com/cwp-latest
sh cwp-latest
を実行しようとしている次のコードに
SshClient sshclient = new SshClient(IPtxtBox.Text, UserNameTxt.Text, PasswordTxt.Text);
sshclient.Connect();
ShellStream stream = sshclient.CreateShellStream("customCommand", 80, 24, 800, 600, 1024);
resultTxt.Text = SSHCommand.SendCommand(stream, "wget http://centos-webpanel.com/cwp-latest && sh cwp-latest");
private static void WriteStream(string cmd, StreamWriter writer, ShellStream stream)
{
writer.WriteLine(cmd);
while (stream.Length == 0)
Thread.Sleep(500);
}
private static string ReadStream(StreamReader reader)
{
StringBuilder result = new StringBuilder();
string line;
while ((line = reader.ReadLine()) != null)
result.AppendLine(line);
return result.ToString();
}
private static string SendCommand(ShellStream stream, string customCMD)
{
StringBuilder strAnswer = new StringBuilder();
var reader = new StreamReader(stream);
var writer = new StreamWriter(stream);
writer.AutoFlush = true;
WriteStream(customCMD, writer, stream);
strAnswer.AppendLine(ReadStream(reader));
string answer = strAnswer.ToString();
return answer.Trim();
}
を使用してこのコマンドを実行する時間に沿ってかかり、何も結果が出ません結果のテキストボックスに入力します。