stbt批处理运行不会使用C#代码

时间:2014-09-06 04:44:56

标签: linux shell fedora

我在Fedora中有一个Shell脚本文件,名称为 run.sh 。此shell文件包含以下代码:

stbt run -1 /home/shan/test/test.py

stbt run是stb测试仪中的一个命令,通常用于执行浸泡和压力测试。

test.py 包含一些python脚本,它们将按照stbt run的指示执行某些操作。

当我直接从终端执行run.sh时,它工作正常并产生所需的结果。但我想从C#代码执行run.sh。我从c#代码创建并运行了一个演示脚本文件 run1.sh ,它创建了一个新文件夹。问题是当我尝试执行 run.sh 时,命令stbt不会运行。但是我更改了 run.sh 文件,如下所示:

mkdir /home/shan/test/new1
stbt run -1 /home/shan/test/test.py
mkdir /home/shan/test/new2

现在,在这种情况下,创建了文件夹new1和new2,但 stbt batch run 命令将不起作用。从终端执行时也是如此。触发run.sh的C#方法如下:

private String runCron()
{                       
    ProcessStartInfo ps = new ProcessStartInfo ();
    ps.FileName = "/home/shan/test/run.sh";
    ps.UseShellExecute = false;
    ps.RedirectStandardOutput = true;

    Process process = Process.Start (ps);
    process.WaitForExit ();

    return "Success";
}

1 个答案:

答案 0 :(得分:0)

朋友chage你的进程目录路径

ps.FileName =“/ home / kc / test / run 1.sh”;

ps.FileName =“/ home / shan / test / run 1.sh”;