2011-06-13 3 views
1

Je suis coincé avec un problème de plusieurs jours. Je me connecte à une machine Linux et je veux exécuter des scripts et récupérer le fichier généré.Passer des arguments à un script shell du processus C#

étapes sont 1) relient 2) d'exécuter certains scripts (qui sont interactifs et ont besoin d'intrants à un moment donné) 3) obtenir le fichier généré en conséquence.

1) Je me connecte à la boîte Linux via plink.exe (version en ligne de commande de putty.exe) cette étape est réussie.

2) Je suis capable d'exécuter des scripts mais quand les scripts s'exécutent, je ne suis pas capable de comprendre comment transmettre ces entrées au script. Ce qui se passe, c'est que le programme se bloque car les scripts ne se terminent pas.

Ces entrées sont fixes et varient entre certaines valeurs, je peux coder ces valeurs dans l'application/le programme.

Aidez-moi s'il vous plaît à le faire. Merci à l'avance -Akash

+1

Si plink échoue, vous devrez d'abord résoudre le problème. Pouvez-vous nous donner plus d'informations - l'erreur, comment vous appelez plink, comment vous avez configuré votre serveur SSH? – Rup

+0

sur bash shell, nous courons comme $ scriptname Donc, voir si ur plink a un tel argument en passant le support de l'API – Zenwalker

+0

Salut Rup, connexion Plink fonctionne très bien. Je suis capable de me connecter au serveur et d'exécuter des commandes. Auparavant, nous utilisions du mastic. – Akash

Répondre

1

Vous pouvez utiliser ce code

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

vous pouvez utiliser exeProcess.StandardOutput.ReadToEnd(); pour obtenir les résultats

+0

Salut Navid, Merci pour la réponse. J'ai essayé cette approche, mais ça ne marche pas. Dans start.Info.Arguments j'ai passé les arguments qui sont utilisés pendant la connexion. – Akash

+0

Quel est exactement votre problème –

+0

J'ai utilisé ce Arguments = "plink mysession echo hello, world"; et le résultat obtient bonjour, monde –

Questions connexes