小编Spi*_*man的帖子

如何使用 Rust 语言将 stdout 输出到终端执行 std::process::Command


fn main() {
    let output = Command::new("/bin/bash")
                .args(&["-c", "docker","build", "-t", "postgres:latest", "-", "<>", "dockers/PostgreSql"])
                .output()
                .expect("failed to execute process");

    println!("{:?}", output);
}
Run Code Online (Sandbox Code Playgroud)
  1. 上面的代码运行良好,但仅在 docker 脚本完全运行后才打印输出,但我想在发生时查看 Linux 终端中的所有命令输出,并希望在发生时查看输出,
  2. 我尝试了文档中给出的所有组合并阅读了很多次,但不明白如何将标准输出重定向到终端窗口,

rust

5
推荐指数
1
解决办法
2805
查看次数

如何在 Rust 编译的二进制文件中包含文件内容?

const fn get_dockerfile() -> String {
    let mut file_content = String::new();
    let mut file = File::open("dockers/PostgreSql").expect("Failed to read the file");
    file.read_to_string(&mut file_content);
    file_content
}

const DOCKERFILE: String = get_dockerfile();
Run Code Online (Sandbox Code Playgroud)

我正在编写一个 Rust 脚本来管理 docker 操作。

  1. 我想在我的二进制可执行文件中包含 docker-file 内容。
  2. 我认为通过将该内容分配给一个const变量我可以实现这一点,但我收到此错误:
error[E0723]: mutable references in const fn are unstable
 --> src/main.rs:9:5
  |
9 |     file.read_to_string(&mut file_content);
Run Code Online (Sandbox Code Playgroud)

rust

1
推荐指数
2
解决办法
398
查看次数

标签 统计

rust ×2