From e01a65991b167d74f58f154a0002fa1740cfde66 Mon Sep 17 00:00:00 2001 From: Jonas Maier <> Date: Fri, 6 Mar 2026 18:56:31 +0100 Subject: strip last newline --- src/run/mod.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/run/mod.rs') diff --git a/src/run/mod.rs b/src/run/mod.rs index b45fac8..ba37061 100644 --- a/src/run/mod.rs +++ b/src/run/mod.rs @@ -183,13 +183,8 @@ impl<'a> Executor<'a> { if let Some(cap) = capture { if last_is_command { - let child = children - .into_iter() - .last() - .unwrap(); - let out = child - .wait_with_output() - .unwrap(); + let child = children.into_iter().last().unwrap(); + let out = child.wait_with_output().unwrap(); *cap = out.stdout; } else { *cap = last_output.into_inner(); @@ -218,6 +213,9 @@ impl<'a> parse::Expander for Executor<'a> { fn expand_cmd(&mut self, ast: Ast) -> Result { let mut out = Vec::new(); self.execute(ast, Some(&mut out))?; + if out.last() == Some(&b'\n') { + out.pop(); + } Ok(out) } } -- cgit v1.2.3