From b7506a6fdfbc1ba75d263d9011c0521ba3e4e618 Mon Sep 17 00:00:00 2001 From: El-BG-1970 Date: Tue, 26 Apr 2022 22:04:29 +0200 Subject: ~ now works, but not ~/* --- src/main.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 31133da..4eea403 100644 --- a/src/main.rs +++ b/src/main.rs @@ -20,10 +20,13 @@ fn main() -> io::Result<()> { let mut line = String::new(); stdin().read_line(&mut line).unwrap(); - let mut parts = line.trim().split_whitespace(); + let tmp = line.trim().split_whitespace() + .collect::>(); + let mut parts = tmp.iter() + .map(|x| substitute_vars(*x)); let command = parts.next().unwrap(); - match command { + match command.as_str() { "exit" => return Ok(()), "cd" => { // change directory @@ -34,15 +37,14 @@ fn main() -> io::Result<()> { env::set_current_dir(&cd)?; }, Some(p) => { - let tmp = substitute_vars(p); - let cd = Path::new(&tmp); + let cd = Path::new(&p); env::set_current_dir(&cd)?; } }; }, command => { let child = Command::new(command) - .args(parts.map(substitute_vars)) + .args(parts) .spawn(); match child { -- cgit v1.2.3