parsing - Fish 函数选项/参数解析器

标签 parsing fish

似乎正在进行一些工作以在 future 增加对此的支持:

https://github.com/fish-shell/fish-shell/issues/478
https://github.com/xiaq/fish-shell/tree/opt-parse

但与此同时,处理这个问题的推荐方法是什么?我应该解析 $argv 吗?如果是这样,您有一些提示/最佳实践吗?

最佳答案

解析 $argv适用于基本场景,但否则会变得乏味且容易出错。
在fish有自己的参数解析解决方案之前,社区创建了:

  • getopts.fish

  • 从fish 2.7.0 开始,您可以使用fish 的内置选项解析器:argparse
    function foo --description "Example argparse usage"
      set --local options 'h/help' 'n/count=!_validate_int --min 1'
    
      argparse $options -- $argv
    
      if set --query _flag_help
        printf "Usage: foo [OPTIONS]\n\n"
        printf "Options:\n"
        printf "  -h/--help       Prints help and exits\n"
        printf "  -n/--count=NUM  Count (minimum 1, default 10)"
        return 0
      end
    
      set --query _flag_count; or set --local _flag_count 10
    
      for i in (seq $_flag_count); echo foo; end
    end
    
    要查看可能的全部内容,请运行 argparse -hargparse --help .

    关于parsing - Fish 函数选项/参数解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16048757/

    相关文章:

    go - 将 `go` 与 fish shell 一起使用

    java - 将 IDL 枚举解析为 Java 枚举

    C# 如何使用 Linq 解析 Object[] 以查找所有 List<Int> 对象?

    parsing - Logstash日期无效格式

    shell - 如何防止 Fish shell 在键入 Ctrl-D (EOF) 时关闭

    fish - 在脚本中定义新的 fish 命令并解析参数

    javascript - 如何在 JavaScript 中的字符串中间进行锚定正则表达式匹配

    android - 我们如何解析 OPML 字符串

    macos - Fish Interactive Shell 完整路径

    shell - Zsh 颜色部分选项卡完成