From b1155873ddcb33777474fd9f15f370b54cdd44f5 Mon Sep 17 00:00:00 2001 From: Ellie Huxtable Date: Mon, 4 Mar 2024 17:50:30 +0000 Subject: fix(doctor): use a different method to detect env vars (#1819) --- atuin/src/command/client/doctor.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/atuin/src/command/client/doctor.rs b/atuin/src/command/client/doctor.rs index d6d179c7..c0479dda 100644 --- a/atuin/src/command/client/doctor.rs +++ b/atuin/src/command/client/doctor.rs @@ -25,17 +25,18 @@ impl ShellInfo { // // Every shell we support handles `shell -c 'command'` fn env_exists(shell: &str, var: &str) -> bool { - let mut cmd = Command::new(shell) - .args(["-ic", format!("echo ${var}").as_str()]) + let cmd = Command::new(shell) + .args([ + "-ic", + format!("[ -z ${var} ] || echo ATUIN_DOCTOR_ENV_FOUND").as_str(), + ]) .output() .map_or(String::new(), |v| { let out = v.stdout; String::from_utf8(out).unwrap_or_default() }); - cmd.retain(|c| !c.is_whitespace()); - - !cmd.is_empty() + cmd.contains("ATUIN_DOCTOR_ENV_FOUND") } pub fn plugins(shell: &str) -> Vec { -- cgit v1.2.3