我目前正在更新我写的打印室时间表的第一个脚本 我现在想用getopts来解析我的选项:
我的选项是打印所有房间的时间表:
-w
-e打印星期一星期一的时间表
-c当天
-O具有给定的偏移量
到目前为止一切顺利。
不,我只想打印一个房间,其中包含以下选项:
我如何使用getopts管理它?那样的东西?
while getopts :a:b:c:d:hP: ARG; do
case $ARG in
ab) #set option "a"
echo "-a used: $OPTARG"
echo "OPT_A = $OPT_A"
;;
cd) #set option "b"
echo "-b used: $OPTARG"
echo "OPT_B = $OPT_B"
;;
这可能吗?我希望你明白我的意思......
答案 0 :(得分:0)
您可以简单地定义变量ONE_ROOM
,如果给出选项r
,则变量设置为true。您不需要手动区分所有可能的参数组合。
#!/bin/bash
ONE_ROOM="0"
while getopts rwecO: ARG; do
case $ARG in
r) ONE_ROOM="1";;
w) ;;
e) ;;
c) ;;
O) ;;
esac
done
if [ "$ONE_ROOM" -eq "1" ] ; then
# print only one room
else
# print all rooms
fi