对不起,如果标题令人困惑,但这就是我的意思:
如果我有一个可以接受多个参数的脚本,我会使用 getops 命令以便根据传递的参数更轻松地控制脚本操作。但是,假设这些参数之一可以是 5 到 9 之间的任何数字,或者其他任何数字。有没有办法告诉 getops 作为命令传递给脚本的 5 到 9 之间的任何数字都应该被视为单个用户命令?
到目前为止,我的代码类似于:
#!/bin/sh
args=`getopt -o abc: -- "$@"`
eval set -- "$args"
echo "After getopt"
for i in $args
do
case "$i" in
-c) shift;echo "flag c set to $1";shift;;
-a) shift;echo "flag a set";;
-b) shift;echo "flag b set";;
done
我想看看我是否可以做类似的事情:
#!/bin/sh
args=`getopt -o ab[0-9]c: -- "$@"`
eval set -- "$args"
echo "After getopt"
for i in $args
do
case "$i" in
-c) shift;echo "flag c set to $1";shift;;
-a) shift;echo "flag a set";;
-b) shift;echo "flag b set";;
-[0-9]) shift; echo $i;;
done