我在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";
}
答案 0 :(得分:0)
朋友chage你的进程目录路径
ps.FileName =“/ home / kc / test / run 1.sh”;
到
ps.FileName =“/ home / shan / test / run 1.sh”;