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