Needs more jpeg Asked: 2020-03-30 14:22:37 +0800 CST2020-03-30 14:22:37 +0800 CST 2020-03-30 14:22:37 +0800 CST Linux 子系统:使用 Windows 文件路径更改目录 772 如果我想将我的 Linux 子系统的目录更改为我在 Windows 资源管理器中打开的目录,那么我必须替换\、删除:和 prepend /mnt/。 我发现该命令wslpath -a 'C:\Windows'执行此操作,但是我仍然必须复制粘贴结果来更改目录。所以我尝试wslpath -a 'C:\Windows' | cd了,但没有奏效。 编辑:如果能把它作为别名工作就好了,例如cdwin C:\Windows windows linux 2 个回答 Voted Best Answer bk2204 2020-04-11T14:49:04+08:002020-04-11T14:49:04+08:00 这是可以做到的。~/.bashrc您可以使用调用wslpathand的 shell 函数(例如,在您的 中) cd: cdwin () { cd "$(wslpath -a "$1")" } 但是,话虽如此,您必须在 Windows 路径周围加上引号。shell 专门解释反斜杠(作为转义字符),如果省略引号,反斜杠可能会被删除。没有办法避免这种情况,因为这是所有 Unix shell 的工作方式。 Akbar Nur Pribadi 2022-03-23T12:11:22+08:002022-03-23T12:11:22+08:00 对不起,我不能评论,我没有太多的声誉 asdsad @bkk2204 答案真的是个好主意。 但是对于您的代码,您实际上非常接近! 所以我尝试wslpath -a 'C:\Windows' | cd了,但没有奏效 试试这个 cd `wslpath -a 'C:\Windows'` 你甚至可以做环境变量 cd `wslpath -u $(wslvar windir)` 或者 cd $(wslpath -u `wslvar windir`) 或者 cd $(wslpath -u $(wslvar windir)) 但是,要执行 wslvar,您需要安装wslu(预安装在 ubuntu 中)。 Windir 是环境变量的一部分。 打印环境变量列表 powershell.exe "Get-ChildItem Env:"
这是可以做到的。
~/.bashrc
您可以使用调用wslpath
and的 shell 函数(例如,在您的 中)cd
:但是,话虽如此,您必须在 Windows 路径周围加上引号。shell 专门解释反斜杠(作为转义字符),如果省略引号,反斜杠可能会被删除。没有办法避免这种情况,因为这是所有 Unix shell 的工作方式。
对不起,我不能评论,我没有太多的声誉
asdsad @bkk2204 答案真的是个好主意。
但是对于您的代码,您实际上非常接近!
试试这个
你甚至可以做环境变量
或者
或者
但是,要执行 wslvar,您需要安装wslu(预安装在 ubuntu 中)。
Windir 是环境变量的一部分。
打印环境变量列表