我在 test.sh 中有以下代码:
while getopts "f:i:" opt; do
case $opt in
f)
echo $OPTARG
i) echo $OPTARG
现在如果我运行./test.sh -f
我会得到错误:
option requires an argument -- i
但是,当我运行./test.sh -f -i test
它时,它会回显 -i。
我知道这是因为它只是将下一个参数用空格分隔,但是有没有简单的方法来处理这个问题?
我可以做if [ $OPTARG == "-i" ]; then exit 1
,但我希望当我有多种选择时有一种更简单的方法。