在我的webapp我做下面。 我知道它是正确的,因为我试过1)倾倒start_sz到一个文本文件2)苏www数据3)复制/粘贴提取string,它的工作。
var start_sz = string.Format(@"bash -c 'ln ""{2}/{0}"" ""{2}/{1}""'", fn, newfn, System.IO.Directory.GetCurrentDirectory()); Process.Start(start_sz);
我得到的例外如下推理以上我相信它说的bash无法find。
找不到指定的文件
在System.Diagnostics.Process.Start_shell(System.Diagnostics.ProcessStartInfo startInfo,System.Diagnostics.Process过程)[0x00000] in:0
- 获得Mono和Firebirdembedded式Linux的工作
- F#代码在REPL中工作正常,但在编译期间会出现堆栈溢出
- mkbundle没有从当前目录find依赖关系
- 我如何在Linux上使用Mono.Unix?
- 从mplayer读取控制台输出parsing轨道的位置/长度
在System.Diagnostics.Process.Start_common(System.Diagnostics.ProcessStartInfo startInfo,System.Diagnostics.Process进程)[0x00000] in:0
在System.Diagnostics.Process.Start(System.Diagnostics.ProcessStartInfo startInfo)[0x00000] in:0
在System.Diagnostics.Process.Start(System.String文件名)[0x00000]中:0
在MySite.QueueManager.MakeLink(System.String fn)[0x00000] in:0
在MySite.QueueManager.ImageQueue2()[0x00000] in:0
在MySite.QueueManager.ImageQueue()[0x00000]中:0
那么,我该如何解决这个问题呢? 基本上我需要在我的asp.net应用程序运行时创build一个硬链接(软也没关系)。
我想也许我需要完整的bashpath,所以我尝试了/bin/bash -c
但是也没有工作。
为什么不直接调用ln
? 没有bash
?
Process.Start("ln", params);
你也可能需要指定完整的路径:
Process.Start("/bin/ln", params);
实际上, Process.Start("bash")
适用于我,因此检查$PATH
环境变量等。
不,你知道从外壳使用它是正确的 。 与Process.Start
不同的是,shell会考虑这个路径。
只需指定bash的完整路径,几乎肯定是/bin/bash
。