Como executar um comando do sistema e obter sua saída em Rust?
Olá a todos! Sou novo em Rust e estou tentando executar um comando simples do sistema, como `ls -la`, e obter sua saída como uma string. Em Python, eu faria `subprocess.check_output(...)`, mas aqui nada funciona.
Estou tentando assim:
```rust
use std::process::Command;
fn main() {
let output = Command::new("ls")
.arg("-la")
.output()
.expect("falha ao executar o processo");
println!("{}", output.stdout);
}
```
Mas no console aparece algo como `[115, 116, 114, ...]` — alguns números, e não texto legível. Tentei adicionar `.to_string()`, mas o compilador reclama. Também ouvi falar sobre `std::process::Output`, mas não entendo como extrair o texto dele.
Diga-me como executar corretamente o comando e obter sua saída como string? De preferência com tratamento de erros — o que fazer se o comando não for encontrado ou terminar com código de saída diferente de zero. Desde já, obrigado!
<<>>
Problema principal: bytes vs string
Você fez quase tudo certo
No answers yet.
Faça login para deixar uma resposta