Rollup merge of #135176 - kornelski:env-example, r=cuviper

More compelling env_clear() examples

`ls` isn't a command that people usually set env vars for, and `PATH` in particular isn't even used by `ls`.
This commit is contained in:
Jacob Pratt
2025-01-08 00:52:48 -05:00
committed by GitHub
+15 -7
View File
@@ -868,13 +868,17 @@ pub fn envs<I, K, V>(&mut self, vars: I) -> &mut Command
///
/// # Examples
///
/// Prevent any inherited `GIT_DIR` variable from changing the target of the `git` command,
/// while allowing all other variables, like `GIT_AUTHOR_NAME`.
///
/// ```no_run
/// use std::process::Command;
///
/// Command::new("ls")
/// .env_remove("PATH")
/// .spawn()
/// .expect("ls command failed to start");
/// Command::new("git")
/// .arg("commit")
/// .env_remove("GIT_DIR")
/// .spawn()?;
/// # std::io::Result::Ok(())
/// ```
#[stable(feature = "process", since = "1.0.0")]
pub fn env_remove<K: AsRef<OsStr>>(&mut self, key: K) -> &mut Command {
@@ -896,13 +900,17 @@ pub fn env_remove<K: AsRef<OsStr>>(&mut self, key: K) -> &mut Command {
///
/// # Examples
///
/// The behavior of `sort` is affected by `LANG` and `LC_*` environment variables.
/// Clearing the environment makes `sort`'s behavior independent of the parent processes' language.
///
/// ```no_run
/// use std::process::Command;
///
/// Command::new("ls")
/// Command::new("sort")
/// .arg("file.txt")
/// .env_clear()
/// .spawn()
/// .expect("ls command failed to start");
/// .spawn()?;
/// # std::io::Result::Ok(())
/// ```
#[stable(feature = "process", since = "1.0.0")]
pub fn env_clear(&mut self) -> &mut Command {