W3cubDocs

/Rust

Function std::env::home_dir

pub fn home_dir() -> Option<PathBuf>
Deprecated since 1.29.0: This function's behavior is unexpected and probably not what you want. Consider using the home_dir function from https://crates.io/crates/dirs instead.

Returns the path of the current user's home directory if known.

Unix

  • Returns the value of the 'HOME' environment variable if it is set (including to an empty string).
  • Otherwise, it tries to determine the home directory by invoking the getpwuid_r function using the UID of the current user. An empty home directory field returned from the getpwuid_r function is considered to be a valid value.
  • Returns None if the current user has no entry in the /etc/passwd file.

Windows

  • Returns the value of the 'HOME' environment variable if it is set (including to an empty string).
  • Otherwise, returns the value of the 'USERPROFILE' environment variable if it is set (including to an empty string).
  • If both do not exist, GetUserProfileDirectory is used to return the path.

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!"),
}

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/env/fn.home_dir.html