Function std::env::home_dir

1.0.0 · source ·
pub fn home_dir() -> Option<PathBuf>
👎Deprecated since 1.29.0: This function’s behavior may be unexpected on Windows. Consider using a crate from crates.io instead.
Expand description

返回当前用户主目录的路径 (如果已知)。

Unix

  • 返回 ‘HOME’ 环境变量的值 (如果已设置) (包括一个空字符串)。
  • 否则,它将尝试通过使用当前用户的 UID 调用 getpwuid_r 函数来确定主目录。 从 getpwuid_r 函数返回的空主目录字段被视为有效值。
  • 如果当前用户在 /etc/passwd 文件中没有条目,则返回 None

Windows

  • 返回 ‘HOME’ 环境变量的值 (如果已设置) (包括一个空字符串)。
  • 否则,返回 ‘USERPROFILE’ 环境变量的值 (如果已设置) (包括一个空字符串)。
  • 如果两者都不存在,则使用 GetUserProfileDirectory 返回路径。

Deprecation

此函数已弃用,因为 Windows 上的行为不正确。 ‘HOME’ 环境变量在 Windows 上不是标准的,可能不会产生预期的结果; 例如,在 Cygwin 或 Mingw 下,它会在应该返回 C:\Users\you 时返回 /home/you

Examples

use std::env;

match env::home_dir() {
    Some(path) => println!("Your home directory, probably: {}", path.display()),
    None => println!("Impossible to get your home dir!"),
}
Run