getopts shell脚本
时间: 2023-11-14 10:09:51 浏览: 106
Shell脚本中使用getopts处理多命令行选项
5星 · 资源好评率100%
getopts 是一个 shell 内置命令,用于解析命令行参数。它可以帮助我们编写更加优雅的 shell 脚本,让脚本更加易于使用和维护。
getopts 命令的语法如下:
```
getopts optstring name [args]
```
其中,`optstring` 是一个字符串,表示需要解析的选项。`name` 是一个变量名,表示当前解析到的选项。`args` 是一个或多个需要解析的参数。
下面是一个简单的示例:
```bash
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" >&2
exit 1
;;
:)
echo "Option -$OPTARG requires an argument." >&2
exit 1
;;
esac
done
```
在这个示例中,我们定义了两个选项 `-a` 和 `-b`,并且都需要一个参数。当我们执行脚本时,可以这样传递参数:
```bash
./script.sh -a foo -b bar
```
这样,脚本就会输出:
```
Option a has value foo
Option b has value bar
```
如果我们传递了一个无效的选项,比如 `-c`,脚本就会输出:
```
Invalid option: -c
```
如果我们传递了一个需要参数的选项,但是没有提供参数,比如 `-a`,脚本就会输出:
```
Option -a requires an argument.
```
阅读全文