Dzięki @ user2526830 dla kodu. Na podstawie tego kodu dodałem kilka wierszy do mojego programu, ponieważ chcę odczytać wynik polecenia SSH. Poniżej znajduje się mój kod, który daje błąd w linii while
"StandardOut nie został przekierowany lub proces jeszcze się nie rozpoczął" podczas czytania wyniku polecenia konsoli w C#
StandardOut nie został przekierowany lub proces jeszcze się nie rozpoczął.
Co chcę osiągnąć to to, że chcę odczytać wyjście ls na ciąg znaków.
ProcessStartInfo startinfo = new ProcessStartInfo();
startinfo.FileName = @"f:\plink.exe";
startinfo.Arguments = "-ssh [email protected] -pw abc123";
Process process = new Process();
process.StartInfo = startinfo;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;
process.Start();
process.StandardInput.WriteLine("ls -ltr /opt/*.tmp");
process.StandardInput.WriteLine("exit");
process.StartInfo.RedirectStandardOutput = true;
while (!process.StandardOutput.EndOfStream)
{
string line = process.StandardOutput.ReadLine();
}
process.WaitForExit();
Console.ReadKey();