如何从 WSL 中获取 Windows 用户主目录 (/mnt/c/Users/username) 的路径?
How to get the path to the Windows user's home directory (/mnt/c/Users/username) from within WSL?
我需要从 WSL 中获取 Windows 用户主目录 /mnt/c/Users/username
的路径,它存储在某处吗?
如果没有,username
是否存储在某处?我假设 /mnt/c/Users
部分没有改变。
谢谢!
v使用 cmd.exe 获取它并使用 wslpath 将其解析为 WSL 路径(需要安装了 wslpath 的更新 WSL):
Bash
WIN_HOME_RAW="$(cmd.exe /c "<nul set /p=%UserProfile%" 2>/dev/null)"
WIN_HOME="$(wslpath $WIN_HOME_RAW)"
鱼
set WIN_HOME_RAW (cmd.exe /c "<nul set /p=%UserProfile%" 2>/dev/null)
set -gx WIN_HOME (wslpath $WIN_HOME_RAW)
您可以使用 powershell 获取用户配置文件变量并使用内置的 wslpath 转换为 WSL 路径:
WIN_USER_PROFILE="$(wslpath $(powershell.exe -NoProfile -NonInteractive -Command "$Env:UserProfile"))"
您可以简单地将 wslpath
和 wslvar
一起使用,如下所示:
$ wslpath "$(wslvar USERPROFILE)"
这将 return 是这样的:
/mnt/c/Users/{USERNAME}
我需要从 WSL 中获取 Windows 用户主目录 /mnt/c/Users/username
的路径,它存储在某处吗?
如果没有,username
是否存储在某处?我假设 /mnt/c/Users
部分没有改变。
谢谢!
v使用 cmd.exe 获取它并使用 wslpath 将其解析为 WSL 路径(需要安装了 wslpath 的更新 WSL):
Bash
WIN_HOME_RAW="$(cmd.exe /c "<nul set /p=%UserProfile%" 2>/dev/null)"
WIN_HOME="$(wslpath $WIN_HOME_RAW)"
鱼
set WIN_HOME_RAW (cmd.exe /c "<nul set /p=%UserProfile%" 2>/dev/null)
set -gx WIN_HOME (wslpath $WIN_HOME_RAW)
您可以使用 powershell 获取用户配置文件变量并使用内置的 wslpath 转换为 WSL 路径:
WIN_USER_PROFILE="$(wslpath $(powershell.exe -NoProfile -NonInteractive -Command "$Env:UserProfile"))"
您可以简单地将 wslpath
和 wslvar
一起使用,如下所示:
$ wslpath "$(wslvar USERPROFILE)"
这将 return 是这样的:
/mnt/c/Users/{USERNAME}