Avatar ·

Como executar um comando do sistema e capturar sua saída em Rust?

Olá, colegas! Comecei a estudar Rust e estou escrevendo uma pequena ferramenta de automação. Preciso executar um comando externo do sistema (por exemplo, `ls -la` ou `git status`) e ler sua saída (stdout e stderr) diretamente no programa, para depois processar as linhas. Eu vi a documentação do módulo `std::process::Command`, mas não estou conseguindo capturar a saída corretamente. Aqui está o que tentei: ```rust use std::process::Command; fn main() { let output = Command::new("ls") .arg("-la") .output() .expect("Não foi possível executar o comando"); println!("stdout: {}", output.stdout); println!("stderr: {}", output.stderr); } ``` Mas no console aparece algo como `stdout: [115, 111, 109, 101, 32, 116, 101, 120, 116]` — são bytes, não uma string! Como faço para obter texto legível? E o que fazer se o comando falhar? Quero entender como lidar corretamente com o status de saída e como capturar stderr separadamente. Agradeço desde já pela ajuda!