【发布时间】:2012-06-13 16:37:45
【问题描述】:
我在 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,但我希望当我有多种选择时有一种更简单的方法。
【问题讨论】: