2014-11-03 4 views
2

Я пытаюсь запустить следующие команды из файла с именем teste.shProcessStartInfo не распознает команду в .sh файл

kpm restore 
k web 

Они работают очень хорошо, когда я открываю терминал компакт-диск в нужную папку и сделать "ш teste.sh", но когда я пытаюсь запустить следующее на MonoDevelop:

using System; 
using System.Diagnostics; 

namespace terminalcommandteste 
{ 
    class MainClass 
    { 
     public static void Main (string[] args) 
     { 
      StartWebServer(); 
     } 

     public static void StartWebServer() 
     { 
      string command = "sh"; 
      //string argss = "/home/daniel/Downloads/HelloWorldVNext-master/src/hellomvc/teste.sh"; 
      string dir = "/home/daniel/Downloads/HelloWorldVNext-master/src/hellomvc/"; 
      string argss = "teste.sh"; 

      ProcessStartInfo procInfo = new ProcessStartInfo(); 
      procInfo.WindowStyle = ProcessWindowStyle.Normal; 
      procInfo.UseShellExecute = false; 
      procInfo.FileName = command; 
      procInfo.Arguments = argss; 
      procInfo.WorkingDirectory = dir; 
      Process.Start (procInfo); 
     } 
    } 

} 

ответ на терминале:

teste.sh: 1: teste.sh: kpm: not found 
teste.sh: 2: teste.sh: k: not found 

Press any key to continue... 

ответ

0

удалось исправить мою проблему благодаря alexkoeplinger, Alxandr.me и Yantr.io в https://jabbr.net/#/rooms/AspNetvNext чате

изменил проект

using System; 
using System.Diagnostics; 

namespace terminalcommandteste 
{ 
    class MainClass 
    { 
     public static void Main (string[] args) 
     { 
      StartWebServer(); 
     } 

     public static void StartWebServer() 
     { 
      string command = "/bin/bash"; 
      //string argss = "/home/daniel/Downloads/HelloWorldVNext-master/src/hellomvc/teste.sh"; 
      string dir = "/home/daniel/Downloads/HelloWorldVNext-master/src/hellomvc/"; 
      string argss = "teste.sh"; 

      ProcessStartInfo procInfo = new ProcessStartInfo(); 
      procInfo.WindowStyle = ProcessWindowStyle.Normal; 
      procInfo.UseShellExecute = false; 
      procInfo.FileName = command; 
      procInfo.Arguments = argss; 
      procInfo.WorkingDirectory = dir; 
      Process.Start (procInfo).WaitForExit(); 
     } 
    } 

} 

и teste.sh к

#!/bin/bash 
source "/home/daniel/.kre/kvm/kvm.sh" 

kpm restore 
k web