Passando argumentos para um script shell de processo de C #
Pergunta
Eu estou preso com um problema de muitos dias.
Eu estou conectando a uma caixa de Linux e deseja executar alguns scripts e recolher de volta o arquivo gerado.
As etapas são 1) Ligue 2) executar alguns scripts (que são entradas interativas e precisam, em algum momento) 3) obter o arquivo gerado como resultado.
1) Eu estou conectando a caixa de linux através plink.exe (versão de linha de comando de putty.exe) esta etapa é bem sucedido.
2) Eu sou capaz de executar scripts mas quando os scripts são executados que espera alguma entrada, eu não sou capaz de descobrir como passar essas entradas para o script. o que acontece é o programa paralisa como os scripts não for concluída.
Estas entradas são fixas e variam entre determinados valores, eu posso codificar esses valores em application / programa.
Por favor me ajude a fazer isso. desde já, obrigado -Akash
Solução
Você pode usar este código
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = "YourFile.exe";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = "";//Arguments should be here
using (Process exeProcess = Process.Start(startInfo))
{
exeProcess.WaitForExit();
}
Você pode usar exeProcess.StandardOutput.ReadToEnd (); para obter os resultados