在Rust的命令调用中使用PathBuf的最佳方法是什么?

Command::new(format!("git -C {} status", dir.as_path().display().to_string()));

我正在使用上面的代码将我的PathBuf变量转换为 aString,但这是最好的方法吗?有没有一种方法可以使用PathBuf变量而不转换它?

回答

您的示例运行可执行文件git -C $dir status,不向该可执行文件传递任何参数。它会尽快出错spawn(),因为这样一个奇怪命名的文件不在你的PATH.

相反,运行git传递你的参数:

Command::new("git").arg("-C").arg(dir).arg("status")

这也使问题变得毫无意义,因为没有必要进行转换。


以上是在Rust的命令调用中使用PathBuf的最佳方法是什么?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>