如何避免std::process::命令单引号转义



我试图在Rust中运行一个带有复杂过滤器的ffmpeg命令,std::process::Command通过转义单引号阻止我执行它,这是ffmpeg所要求的。

use std::process::Command;
fn main() {
let mut cmd = Command::new("ffmpeg");
cmd.args([
"-filter_complex",
"[video_0]geq=lum='p(X,Y)'[video_0];",
]);
println!("Running command {:?}", cmd);
// Actual:
// Running command "ffmpeg" "-filter_complex" "[video_0]geq=lum='p(X,Y)'[video_0];"
// Expected: 
// Running command "ffmpeg" "-filter_complex" "[video_0]geq=lum='p(X,Y)'[video_0];"
}

如何运行该命令以使单引号不被转义?这是命令实现的错误吗?

Command的调试视图只查看调试视图中的参数,其中包括转义字符,但它仍然可以工作

相关内容

  • 没有找到相关文章

最新更新