6 Stimmen

Unix-Shell-Skript aus der Ferne von C# aus aufrufen

In meinem aktuellen Projekt muss ich ein Unix-Shell-Skript aus der C#-Anwendung aufrufen. Ich muss auch die Antwort zurückbekommen, ob das Skript erfolgreich ausgeführt wurde oder ein Fehler aufgetreten ist.

Das C#-Programm wird auf einem Windows-Rechner ausgeführt. Ich muss eine Verbindung zu einem Unix-Rechner herstellen und das Skript ausführen.

Kann mir jemand sagen, wie das mit C# gemacht werden kann?

4voto

OnesimusUnbound Punkte 2850

Wird dies Ihr Problem lösen?

sharpSsh - Eine Secure Shell (SSH) Bibliothek für .NET

更新情報

Auf der Website des Entwicklers finden Sie SharpSSH für weitere Informationen über die Verwendung des Tools.

Aktualisierung 2

  • Ändern Sie den Link der Entwicklerseite in einen archivierten Link.

2voto

Terrance Punkte 11609

Ein einfacher Weg, dies zu erreichen, ist die Verwendung von System.Diagnostik.Prozess

// Start the child process.
 Process p = new Process();
 // Redirect the error stream of the child process.
 p.StartInfo.UseShellExecute = false;
 p.StartInfo.RedirectStandardError = true;
 p.StartInfo.FileName = "Write500Lines.exe";
 p.Start();
 // Do not wait for the child process to exit before
 // reading to the end of its redirected error stream.
 // p.WaitForExit();
 // Read the error stream first and then wait.
 string error = p.StandardError.ReadToEnd();
 p.WaitForExit();

1voto

Akash Punkte 41

Auch ich hatte das gleiche Problem, ich habe etwa 1 Monat lang nach einer Lösung gegoogelt.

Schließlich habe ich beschlossen, plink.exe (Kommandozeilenversion von putty.exe) zu verwenden, um eine Verbindung zu einer Unix-Box herzustellen und dort ein Skript auszuführen.

Sie müssen plink durch c# Prozess verwenden, ich habe es versucht und das funktioniert erstaunlich.

Aber rite jetzt das Problem, das ich konfrontiert bin, ist, wenn ich ein Skript aus c# Prozess bin ich nicht in der Lage, Argumente zu diesem Skript übergeben. Wahrscheinlich wäre es richtig zu sagen, dass ich nicht weiß, wie man das macht.

Mit freundlichen Grüßen -Aakash

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X