Вызов сценария оболочки Unix удаленно из C # - PullRequest
6 голосов
/ 02 июня 2011

В моем текущем проекте мне нужно вызвать скрипт оболочки Unix из приложения C #. Мне также нужно получить ответ, был ли скрипт успешно выполнен или произошла какая-либо ошибка.

Программа C # работает на компьютере с Windows. Мне нужно подключиться к Unix-машине и выполнить скрипт.

Может кто-нибудь дать мне знать, как это можно сделать с помощью C #?

Ответы [ 3 ]

4 голосов
/ 02 июня 2011

Решит ли это вашу проблему?

sharpSsh - библиотека Secure Shell (SSH) для .NET

Обновление

Обратитесь на сайт разработчика для SharpSSH для получения дополнительной информации о том, как использовать инструмент.

Обновление 2

  • изменить ссылкусайта разработчика на архивную ссылку.
2 голосов
/ 02 июня 2011

Простой способ сделать это, используя System.Diagnostics.Process


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

1 голос
/ 13 июня 2011

Даже у меня была такая же проблема, я гуглил решение около 1 месяца.

Наконец, я решил использовать plink.exe (версия putty.exe для командной строки) для подключения к unix boxи выполните там сценарий.

Вы должны использовать процесс plink через c #, я попробовал его, и это работает потрясающе.

Но сейчас я сталкиваюсь с проблемой, с которой я сталкиваюсь, когда я запускаюСценарий из процесса C # Я не могу передать аргументы в этот сценарий.Вероятно, было бы обрядно сказать, что я не знаю, как это сделать.

С уважением -Aakash

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...