WSL与windows的环境共享

本文介绍了如何在Windows Subsystem for Linux (WSL)中实现Linux与Windows命令的互操作,包括WSLENV的作用、环境变量的共享方法、路径转换规则和脚本应用实例。从版本17063开始,WSLENV成为增强Win/WSL间环境变量交互的关键工具。
摘要由CSDN通过智能技术生成

Reference
更多cmd.exe帮助参考 cmd_helps
WSL备份及windows Docker安装
WSL安装维护

在使用wsl时,总是需要执行windows的cmd,但是windows命令行对于大多数人使用起来还是不习惯,微软提供了在windows中Linux与Windows的命令互通,即可以使用cmd shell执行Linux命令,也可以使用bash shell来执行windows命令。

WSL可对 Windows 与 Linux 之间的集成操作:

  • 从 Linux shell(如 Ubuntu)运行 Windows 工具(任意 .exe)。
  • 从 Windows shell(即 PowerShell or cmd )运行 Linux 命令(如 cd ls grep)。
  • 在 WSL与windows之间共享环境变量。 (版本 17063+)

满足上述要求,可以很好地使用windows的软件在WSL中畅快的操作,即空WSL环境拥有了python解析器 docker等操作。

如何在 WSL和 Windows 之间共享环境变量

Build 17063 开始,可以利用 WSLENV 来增强 Win/WSL 之间的环境变量互操作。

什么是WSLENV

  • WSLENV 是一个以冒号分隔的环境变量列表,当从 WSL 启动 WSL进程或 Win进程时包含的变量
  • 每个变量都可以以斜杠作为后缀,后跟标识位以指定它的转换方式
  • WSLENV 可以在 WSL 和 Win32 之间转换的路径
  • WSLENV。在WSL中,是以冒号分隔的列表。在Win中,是以分号分隔的列表
  • 可以在.bashrc或者windows自定义环境变量中设置WSLENV

例如:一个WSLENV应该设置为

WSLENV=GOPATH/l:USERPROFILE/w:SOMEVAR/wp

在17063之前,WSL访问Windows环境变量唯一方法是使用全路径(可以使用全路径从WSL下启动Win32可执行文件)。但是没有办法在WSL中设置环境变量,调用Win进程,并期望将该变量传送到进程。

在17063之后,引入一个名为WSLENV的特殊环境变量,以帮助WSL和Win之间的共享。 WSLENV存在于两个环境中。用户可以将WSLENV的值设置为耦合值与环境变量串联,每个都以 \ 为标志,以指定应该如何解析该变量。例如:

/p

/p 表示应在WSL和Win32之间转换path。例如。在WSL中设置变量,将其添加到WSLENV设置/p 标志,然后在win环境cmd.exe中读取变量,该值会随着rootfs的转变而转换为对应的值。

root@stranger:/mnt/d# export TRANSLATABLE=`
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hermokrates

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值