当前位置: 技术问答>linux和unix
Bash编程:如何处理cmd -a value1 value2
来源: 互联网 发布时间:2016-03-10
本文导语: 编写一个程序,需要能接受n个顺序不定的options. 其中有的选项不跟value,有的只跟一个value,有的选项要求跟两个values. 我用getopts只能处理不跟和跟一个value的情况,请大侠给点hints如何处理两个values情况. Example: 要求cmd -A...
编写一个程序,需要能接受n个顺序不定的options. 其中有的选项不跟value,有的只跟一个value,有的选项要求跟两个values.
我用getopts只能处理不跟和跟一个value的情况,请大侠给点hints如何处理两个values情况.
Example:
要求cmd -A 10 20 -B 30 -C 和 cmd -C -B 30 -A 10 20 效果相同
结果为:
当检测到option A时, 获得10和20.
检测到option B时. 获得30
检测到C时,不获取任何value
找遍互联网,至今没发现解决办法,大侠帮帮忙吧, 只能用bash....
我用getopts只能处理不跟和跟一个value的情况,请大侠给点hints如何处理两个values情况.
Example:
要求cmd -A 10 20 -B 30 -C 和 cmd -C -B 30 -A 10 20 效果相同
结果为:
当检测到option A时, 获得10和20.
检测到option B时. 获得30
检测到C时,不获取任何value
找遍互联网,至今没发现解决办法,大侠帮帮忙吧, 只能用bash....
|
cmd -a "file1 file2"
这样就行了
#!/bin/bash
if [ $# -lt 1 ]
then
;
else
while getopts a: OPTION
do
case $OPTION
in
a) file=$OPTARG;;
?) echo "无效的选项!$OPTION";;
esac
done
fi
for n in $file; do
echo $n
done
这样就行了
#!/bin/bash
if [ $# -lt 1 ]
then
;
else
while getopts a: OPTION
do
case $OPTION
in
a) file=$OPTARG;;
?) echo "无效的选项!$OPTION";;
esac
done
fi
for n in $file; do
echo $n
done