我试图在Rust中复制cd
命令,只是为了学习。
但问题是我不确定如何更改操作系统中的目录(* nix)。我尝试过:
std::process::Command::new("cd")
.arg(path) //path is a String
.spawn()
.expect("Directory failed");
还试过:
let path = Path::new(path_str.as_str());
let changed_dir = env::set_current_dir(&path).is_ok();
changed_dir
是真的。
即使我尝试更改env::set_var("PWD", path)
,但似乎没有任何效果。
我查看了这部分文档:https://doc.rust-lang.org/std/env/fn.set_current_dir.html 但我认为只是一种沙盒路径或目录。
还有什么想法?