如何从WSL中获取Windows用户主目录(/ mnt / c / Users / username)的路径?

时间:2018-11-30 21:33:13

标签: windows-subsystem-for-linux

我需要从WSL中获取Windows用户主目录/mnt/c/Users/username的路径,它存储在某个地方吗?

如果没有,username是否存储在某个地方?我只是假设/mnt/c/Users部分不变。

谢谢!

3 个答案:

答案 0 :(得分:2)

您可以简单地将 wslpathwslvar 一起使用,如下所示:

$ wslpath "$(wslvar USERPROFILE)"

将返回如下内容:

<块引用>

/mnt/c/Users/{USERNAME}

答案 1 :(得分:1)

使用cmd.exe获取它,然后使用wslpath将其解析为WSL路径(需要安装了wslpath的更新的WSL):

WIN_HOME_RAW="$(cmd.exe /c "<nul set /p=%UserProfile%" 2>/dev/null)"
WIN_HOME="$(wslpath $WIN_HOME_RAW)"

答案 2 :(得分:0)

您可以使用powershell来获取User Profile变量,并使用内置的wslpath转换为WSL路径:

WIN_USER_PROFILE="$(wslpath $(powershell.exe -NoProfile -NonInteractive -Command "\$Env:UserProfile"))"