getopts
在linux终端上执行命令时候,我们会常用到一些选项参数指定不同的操作。例如ls命令的 -a -l选项等。当我们编写脚本的时候,我们想要自定义一些选项参数,这时候我们就可以用到getopts函数来完成。
命令详解:
getopts optstring varname
optstring:
指定支持的选项参数列表,每个字符就代表一个选项。如果字符后面跟着冒号:,那么在输入该选项时候后面要跟参数。
vername:
用于保存解析后的选项名。每次调用一次getopts命令,它只解析一个选项,并把解析的值存入vername变量中,如果要解析多个选项,需要用到while do命令。
OPTARG
OPTARG是getopts命令用到的一个全局变量,保存解析出来的带冒号选项后面的参数值。
#!/bin/bash
while getopts :abc:e:f:h argvs; do
case $argvs in
a) echo "这是执行-a的效果" ;;
b) echo "这是执行-b的效果" ;;
c) echo "这是执行-c的效果及参数值:${OPTARG}" ;;
e) echo "这是执行-e的效果及参数值: ${OPTARG}" ;;
h) echo "帮助信息";;
f) echo "这是-f的效果及参数值 ${OPTARG}" ;;
[?]) echo "无效或不存在的选项" ;;
*) echo "选项缺少参数" ;;
esac
done
以下是运行这个脚本的情况: