From b157a73a1fc9f699fc607ce28fdeece8b7cb6026 Mon Sep 17 00:00:00 2001 From: Thomas Queiroz Date: Fri, 29 Oct 2021 20:27:06 -0300 Subject: [PATCH] printenv: change exit code when variable not found GNU printenv has this behavior --- src/uu/printenv/src/printenv.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/uu/printenv/src/printenv.rs b/src/uu/printenv/src/printenv.rs index 1bdd3e8c4..c3f996865 100644 --- a/src/uu/printenv/src/printenv.rs +++ b/src/uu/printenv/src/printenv.rs @@ -45,13 +45,20 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { return Ok(()); } + let mut not_found = false; for env_var in variables { if let Ok(var) = env::var(env_var) { print!("{}{}", var, separator); + } else { + not_found = true; } } - Ok(()) + if not_found { + Err(1.into()) + } else { + Ok(()) + } } pub fn uu_app() -> App<'static, 'static> {