gpt4 book ai didi

rust - 如何在作为子进程运行的shell中执行命令?

转载 作者:行者123 更新时间:2023-12-03 11:44:46 28 4
gpt4 key购买 nike

How do I invoke a system command in Rust and capture its output?的答案开始,我可以执行一个命令,该命令本身会生成一个shell以执行命令。

use std::process::Command;

Command::new("sh")
.spawn()
.expect("sh command failed to start");
是否有可能在这个新获得的Shell中从Rust执行命令?

最佳答案

let mut child = Command::new("sh").stdin(Stdio::piped())
.stderr(Stdio::piped())
.stdout(Stdio::piped())
.spawn()?;

child.stdin
.as_mut()
.ok_or("Child process stdin has not been captured!")?
.write_all(b"something...")?;

let output = child.wait_with_output()?;
来源: External Command中的 The Rust Cookbook

关于rust - 如何在作为子进程运行的shell中执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63807700/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com