【发布时间】:2017-11-19 10:47:56
【问题描述】:
我的application 接受一个字符串命令并在某个过程中重复执行它,每次都使用不同的环境变量。为了支持任何类型的命令,我使用指定的命令运行cmd /C,系统负责解析和运行命令。但是,我考虑通过在这些系统上调用 sh -c 来使应用程序与 Unix .NET 实现兼容。
所以,我想以最便携的方式确定两件事 - 应该执行的正确解释器(cmd 在 Windows 上,sh 或可能在 Unix 上由用户指定)以及它接受的变量样式(%var% 在 Windows 上,$var 在 Unix 上)。
目前,我考虑检查COMSPEC 环境变量是否指向Windows 样式的命令行解释器并使用它,或者查找SHELL 变量并使用它。是否有更好的管理替代方案,或者这是否足够?
【问题讨论】:
标签: c# .net windows shell unix