我遇到一个问题,即长格式参数未正确传递给特定的命令行实用程序。
所有这些都有效:
Command::new("mpg321").arg("--gain 100").arg("file.mp3").spawn().unwrap()
Command::new("mpg123").arg("-h 2").arg("file.mp3").spawn().unwrap()
mpg123 --halfspeed 2 file.mp3
但是这个:
Command::new("mpg123").arg("--halfspeed 2").arg("file.mp3").spawn().unwrap()
返回:
mpg123: Unknown option "halfspeed 2"
我怀疑故障出在 mpg123
一侧,但这并不完全有意义,因为它在从命令行调用时有效。
最佳答案
--halfspeed 2
是两个参数。你应该调用 arg
两次:
Command::new("mpg123").arg("--halfspeed").arg("2").arg("file.mp3")...
或使用 .args
将所有参数一起作为数组传递:
Command::new("mpg123").args(&["--halfspeed", "2", "file.mp3"])...
关于linux - 使用 std::process::Command 时未正确传递长格式参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37443293/