كيفية تنفيذ أمر نظام والحصول على مخرجاته في 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` لكني لا أفهم كيف استخرج النص منه.
أرشدوني كيف أنفذ الأمر بشكل صحيح وأحصل على مخرجاته كسلسلة نصية؟ يُفضل مع معالجة الأخطاء — ماذا أفعل إذا لم يتم العثور على الأمر أو انتهى بكود غير صفري. شكراً مسبقاً!
<<>>
المشكلة الأساسية: البايتات مقابل السلسلة النصية
لقد فعلت كل شيء تقريباً بشكل صحيح