gpt4 book ai didi

bash - 如何为 Linux 的 Windows 子系统转换 Windows 路径

转载 作者:搜寻专家 更新时间:2023-10-31 23:20:31 24 4
gpt4 key购买 nike

我正在寻找一种将 Win32 路径转换为 ​​POSIX 路径的方法,最好使用 Win32 工具。

背景

最新的 Windows 10 Insider Build 引入了适用于 Linux 的 Windows 子系统 (WSL),其中包括由 Ubuntu 背后的公司 Canonical 提供的原生 bash。他们对 bash 的实现采用了相当复杂的名称 Bash on Ubuntu on Windows ,我将在下文中将其称为 bash.exe

bash.exe 中访问 Windows 路径 C:\Users\me\Desktop 的等价物是 /mnt/c/Users/me/Desktop

我正在尝试从 Windows 命令提示符(例如 bash -c ls/mnt/me/Desktop)向 bash.exe 传递路径。由于这需要我传递 POSIX 路径,我想知道 Microsoft 是否提供任何工具以编程方式将 Win32 路径转换为 ​​POSIX 路径(如 Cygwin 中的 cygpath 或 Cygwin 中的 winepath酒)

备选方案

除非 Windows 附带任何翻译工具,否则我愿意接受其他方法来确定路径,例如使用 Node 或 Python。

最佳答案

WSL Utilities包现在通过 wslpath 提供此功能命令。

WSLU 默认随 Ubuntu 发行版一起安装,但可能需要手动添加到其他发行版。软件包安装说明在上面链接的 Github 页面上。

Bash 或其他 POSIX shell 的示例用法:

cd $(wslpath 'C:\Users\<username>\Desktop')

... 将更改为 /mnt/c/Users/<username>/Desktop .

反向转换也可以用 -w选项:

mspaint.exe $(wslpath -w ~/profile.jpg)

... 将打开文件 \\wsl$\<distroname>\home\<username>\profile.jpg在画图应用程序中。

关于bash - 如何为 Linux 的 Windows 子系统转换 Windows 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38082179/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com