【问题标题】:ProcessStartInfo not recognising command inside .sh fileProcessStartInfo 无法识别 .sh 文件中的命令
【发布时间】:2014-11-03 15:45:50
【问题描述】:

我正在尝试从名为 teste.sh 的文件中运行以下命令

kpm restore
k web

当我打开终端 cd 到正确的文件夹并执行“sh 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...

【问题讨论】:

    标签: ubuntu process monodevelop asp.net-core processstartinfo


    【解决方案1】:

    感谢 https://jabbr.net/#/rooms/AspNetvNext 聊天中的 alexkoeplingerAlxandr.meYantr.io 解决了我的问题

    将项目更改为

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      • 2020-09-25
      相关资源
      最近更新 更多