【发布时间】:2016-10-24 23:18:57
【问题描述】:
所以我想在 C# 中为子进程调用我的 .bashrc 文件来设置一些环境变量。我查看了这个Set environment variables for a process,但是有没有一种简单的方法可以为我的子进程调用 .bashrc 文件,而无需通过并设置我的所有环境变量?
【问题讨论】:
标签: c# bash process subprocess environment-variables
所以我想在 C# 中为子进程调用我的 .bashrc 文件来设置一些环境变量。我查看了这个Set environment variables for a process,但是有没有一种简单的方法可以为我的子进程调用 .bashrc 文件,而无需通过并设置我的所有环境变量?
【问题讨论】:
标签: c# bash process subprocess environment-variables
.bashrc 文件是毫无意义和无用的,除非您正在运行的子进程实际上是 bash。然而,如果你的可执行文件是一个 shell 脚本,bash 可能确实会被启动,因为你总是可以围绕真正的预期可执行文件编写一个包装脚本,因为你可以使用bash 的-c 选项通过bash 运行任何其他命令,将bash 放入循环中并不是什么大问题。 (当然,这假设您运行在一个有 bash 的系统上。我不一定假设当宿主程序使用 C# 时。)
有一种或另一种方式让bash 进入循环,your options 将通过. 或source 命令显式读取.bashrc,将-i 选项传递给bash,或通过环境变量BASH_ENV 命名.bashrc。任何这些都会导致bash 从您的.basrc 读取命令,包括那些设置环境变量的命令。
【讨论】: