锥体传递环境变量到WSL bash终端

时间:2018-10-17 14:20:05

标签: environment-variables windows-subsystem-for-linux conemu

我正在尝试获取ConEmu中定义的任务,以使用Windows 10的WSL层运行Ubuntu bash的多个实例。

我按照这些示例设置了一个任务,以所需的方式拆分UI,该部分效果很好。我的问题是我试图使用环境变量来传递登录后要运行的命令,并且我希望在每个面板中运行不同的东西。

这是我正在使用的任务命令:

设置“ STARTUP_CMD ='gfp && make server'”并设置“ PATH =%ConEmuBaseDirShort%\ wsl;%PATH%”&%ConEmuBaseDirShort%\ conemu-cyg-64.exe --wsl -cur_console:p -cur_console :d:C:\ xxx \ yyy

在Linux上,我的〜/ .bash_aliases文件中包含代码,用于查找STARTUP_CMD env var并尝试执行它。我发现了可以从Windows一侧提取env vars的代码,这是“ set”命令似乎用来存储事物的地方。问题是,Windows不知道如何处理这些问题,并且会在读取它们时尝试扩展它们,因此全部崩溃。

我以前曾做过这项工作,但最近不得不擦除并重建我的机器,不幸的是没有在任何地方备份工作命令。

我认为这是在WSL中运行bash的推荐方法,但是我宁愿有一种方法将环境变量env直接发送到Linux层(或者如果有人有更好的方法为每个窗格排队不同的命令, ,我也全都支持)。任何帮助将非常感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

哦,当然,我在发布问题后会找到答案...在此处发布以帮助遇到相同问题的其他人(如果我忘记了,必须再次擦拭机器,也可以帮助我解决未来的问题)。

设置“ PATH =%ConEmuBaseDirShort%\ wsl;%PATH%”和%ConEmuBaseDirShort%\ conemu-cyg-64.exe --wsl -eSTARTUP_CMD =“ gfp && make server” -cur_console :p -cur_console:d:C:\ xxx \ yyy

您只需要在所需的env var之前加上-e前缀,并将其作为参数传递给锥木cyg。它可以在Windows端进行任何修改,并且可以像在Linux端上的任何其他env var一样阅读。