阅读量:0
在Shell脚本中处理命令行选项和参数通常使用getopts
命令来实现,以下是一个简单的例子:
while getopts ":a:b:" opt; do case $opt in a) echo "Option a has value $OPTARG" ;; b) echo "Option b has value $OPTARG" ;; ?) echo "Invalid option: -$OPTARG" ;; :) echo "Option -$OPTARG requires an argument." ;; esac done shift $((OPTIND - 1)) echo "Remaining arguments: $@"
在这个例子中,getopts
命令用来解析命令行选项,:
后面跟着的字符表示需要参数的选项,opt
保存当前解析到的选项,OPTARG
保存选项的参数。case
语句用来根据不同的选项做不同的处理。
使用shift $((OPTIND - 1))
命令来移除已经解析过的选项,剩下的参数可以通过$@
来获取。