Avatar ·

Cómo ejecutar un comando del sistema y obtener su salida en Rust

¡Hola a todos! Soy nuevo en Rust y estoy intentando ejecutar un comando simple del sistema, por ejemplo `ls -la`, y obtener su salida como una cadena. En Python haría `subprocess.check_output(...)`, pero aquí nada funciona. Lo intento así: ```rust use std::process::Command; fn main() { let output = Command::new("ls") .arg("-la") .output() .expect("failed to execute process"); println!("{}", output.stdout); } ``` Pero en la consola se imprime algo como `[115, 116, 114, ...]` — unos números, no texto legible. Intenté agregar `.to_string()`, pero el compilador se queja. También escuché sobre `std::process::Output`, pero no entiendo cómo extraer el texto de ahí. Indíquenme cómo ejecutar correctamente el comando y obtener su salida como una cadena. Preferiblemente con manejo de errores — qué hacer si el comando no se encuentra o termina con un código distinto de cero. ¡Gracias de antemano! <<>>

Problema principal: bytes vs cadena

Casi lo hiciste bien