diff options
| -rw-r--r-- | atuin/src/command/client/doctor.rs | 11 |
1 files 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<String> { |
