如何用clap为同一命令行参数设置多个长名称?
解决Clap设置多个长参数别名的问题
要给同一个命令行参数设置多个长名称,你不能直接给long传数组,Clap提供了aliases参数来实现这个需求——指定一个主长名称,再用aliases添加别名即可。
正确的代码写法如下:
#[derive(Parser)] #[command(version = "0.1.0")] struct Args { // 其他参数... #[arg(short = 'q', long = "quiet", aliases = ["silent"], default_value_t = false)] quiet: bool, }
这样配置后,--quiet、--silent以及短选项-q都会触发同一个参数逻辑,将quiet字段设为true,完全符合你想要的-q, --quiet, --silent: Don't show output效果。
内容的提问来源于stack exchange,提问作者Fayeure
相关产品推荐
相关产品推荐

