【问题标题】:How to use `std::io::Command`如何使用`std::io::Command`
【发布时间】:2019-04-13 05:45:29
【问题描述】:

我正在尝试在 Rust 中执行以下代码:

use std::io::Command;

fn main() {
    let the_output = Command::new("ruby").arg(["-e", "puts 'raja'", "x"]).output()
}

但是它会抛出这个错误:

error[E0432]: unresolved import `std::io::Command`
 --> src\main.rs:1:5
  |
1 | use std::io::Command;
  |     ^^^^^^^^^^^^^^^^ no `Command` in `io`

有人可以指导我如何将这个use std::io::Command; 导入我的程序吗?

【问题讨论】:

    标签: rust


    【解决方案1】:

    没有std::io::Command。你可能在想std::process::Command

    【讨论】:

    • 啊!好的谢谢。您好实际上我的要求是,我想通过Command::new 运行命令例如,在命令提示符中键入dir 将列出所有目录。我怎样才能通过这个执行该命令?如果我输入命令提示符ruby -e "puts 'raja'",它将打印raja,现在我想通过Command.new 执行同一行,当我执行该行时它必须打印'raja',我该怎么做?跨度>
    • 关于如何使用std::process::Command,我建议阅读我链接的文档。 This answer 也可能很有启发性。要打印发送到stdoutstderr 的任何命令,您可以使用the_output 上的stdoutstderr 字段。请注意,此数据保存为Vec<u8>,因此您必须使用String::from_utf8 之类的方式对其进行转换。如果您仍然感到困惑,请尝试提出一个新问题。
    猜你喜欢
    • 2015-02-24
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多