diff --git a/src/elements/command/simple.rs b/src/elements/command/simple.rs index 3de7e0d3..c1edbfe3 100644 --- a/src/elements/command/simple.rs +++ b/src/elements/command/simple.rs @@ -30,9 +30,13 @@ pub struct SimpleCommand { impl Command for SimpleCommand { fn exec(&mut self, core: &mut ShellCore, pipe: &mut Pipe) -> Option { - self.args = self.words.iter() - .filter(|w| w.text != "") - .map(|w| w.text.clone()).collect(); + for w in self.words.iter_mut() { + let mut ws = w.eval().iter() + .filter(|e| e.text.len() != 0) + .map(|e| e.text.clone()) + .collect::>(); + self.args.append(&mut ws); + } if self.args.len() == 0 { return None;