Avatar ·

如何在Rust中执行系统命令并获取其输出?

大家好!我是Rust新手,尝试执行一个简单的系统命令,比如`ls -la`,并获取其输出作为字符串。在Python中,我会用`subprocess.check_output(...)`,但在这里什么都不管用。 我尝试这样: ```rust use std::process::Command; fn main() { let output = Command::new("ls") .arg("-la") .output() .expect("failed to execute process"); println!("{}", output.stdout); } ``` 但在控制台输出的是类似`[115, 116, 114, ...]`这样的数字,而不是人类可读的文本。我尝试添加`.to_string()`,但编译器报错。我还听说过`std::process::Output`,但不知道如何从中提取文本。 请告诉我如何正确执行命令并获取其输出作为字符串?最好带有错误处理——如果命令未找到或退出码非零该怎么办?提前谢谢! <<>>

主要问题:字节 vs 字符串

你几乎做对了所有事情