随笔-shell-解析脚本参数(getopt) # 用法:getopt [options] [--] optstring parameters# -o或--options选项后面接可接受的短选项,如ab:c::,表示可接受的短选项为-a -b -c,其中-a选项不接参数,-b选项后必须接参数,-c选项的参数为可选的# -l或--long选项后面接可接受的长选项,用逗号分开,冒号的意义同...
(1)getopts 是 Shell 内建命令,getopt 是一个独立外部工具 (2)getopts 使用语法简单,getopt 使用语法较复杂 (3)getopts 不支持长参数(如:--option),getopt 支持 (4)getopts 不会重排所有参数的顺序,getopt 会重排参数顺序(这里的区别下面会说明) (5)getopts 出现的目的是为了代替 getopt 较快捷的执行参数分析...
getopts是Shell内置命令,而getopt则不是。 Shell解析命令行参数的方式 在Linux bash中,可以用以下三中方式解析命令行参数: 直接处理:使用$1、$2、$3… 进行解析 getopts:短选项的情况,例如:-n 10 -f file.txt。getopts不能直接处理长的选项(如:--prefix=/home等) getopt:处理短选项或者长选项,例如:--perfix...
比如如果在设计上 $1是ip地址$2是端口,那在执行时就必须第一个参数是ip第二个参数是端口而不能反过来。 shell提供了getopt和getopts来解析参数,getopt比getopts功能强一些getopts比getopt简单一些;总体而言getopt和getopts都差强人意。 二、使用getopt解析参数 getopt比getopts强一些复杂一些:能在命令行中单独使用、支持...
直接处理:使用$1,$2,$3…进行解析 getopts: 单个字符选项的情况,例如:-n 10 -f file.txt等选项 getopt:处理单个字符或长选项(long-option),例如:–prefix=/home等 经验:小型脚本可以直接处理,大多数情况使用getopts,getopt的功能更加强大。
;; v) echo "Parsing option: '-${optchar}'" >&2 ;; *) if [ "$OPTERR" != 1 ] || [ "${optspec:0:1}" = ":" ]; then echo "Non-option argument: '-${OPTARG}'" >&2 fi ;; esac done 注意getopt与getopts的差异。
在开发过程中,命令行接口的易用性对于用户接受度至关重要。当我们需要编写bash脚本来接收用户输入并实现特定功能时,如何优雅地处理命令行参数就显得尤为重要。本文将关注getopts和getopt(注意getopts是shell内置,而getopt非shell)这两种工具的使用。解析shell脚本命令行参数的方式有三种:直接通过$0(脚本...
getopt命令可以帮助我们解析命令行参数,从而使得我们的shell脚本更加灵活和易用。getopt命令的基本语法如下: getopt [-o|--options] [--] [longopts] [args] 其中,-o或--options用于指定短选项(即单个字符的参数),longopts用于指定长选项(即多个字符的参数),args用于传入命令行参数。例如: ...