[英]how to run export bash command through C# process?
嘗試通過C#進程運行export命令:
現在的情況
Process proc = Process.Start("export", "display=\":0.0\"");
proc.WaitForExit();
return proc.ExitCode;
部分錯誤
Unhandled Exception:
System.ComponentModel.Win32Exception: Cannot find the specified file
at System.Diagnostics.Process.Start_shell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) [0x00000] in <filename unknown>: 0
這是我對所有命令所做的方式,並且始終有效。
功能實例
Process proc = Process.Start("kill", "810");
那么為什么對導出命令不起作用?
kill
是一個shell內置和系統上的二進制文件,因此它可以無殼上運行。
$ type -a kill
kill is a shell builtin
kill is /bin/kill
kill is /usr/bin/kill
export
僅是shell內置的,因此沒有shell便無法運行export
。
$ type -a export
export is a shell builtin
另外,即使您確實可以像這樣運行export
,它也只會影響它所運行的外殼,而不會對您的主進程或通過Process.Start
運行的任何其他進程產生影響。
要設置一個環境變量,以后該變量可用於當前進程和其他生成的進程,則需要直接修改當前進程的環境(通過C#)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.