我的脚本优先考虑我的问题。 例如,当我调用我的脚本./script -q -h时,它应该返回h选项,该选项应该具有比其他选项更重要的优先级。我的代码如下:
#!/bin/bash
function usage
{
echo "Echoing login, name, surname of the invoker
where:
-h help
-q quit(don't proceed script)"
}
function invalid
{
echo "Invalid argument!
"
usage
}
while [ "$1" != "" ]; do
case $1 in
-h | --help ) usage
exit
;;
-q | --quit ) exit
;;
* ) invalid
exit 1
esac
shift
done
echo $USER
getent passwd $USER | cut -d: -f5 | cut -d, -f1
答案 0 :(得分:0)
在->next
项检查中,只需设置变量(例如case
或opt_h=1
)。
然后以任何你想要的顺序检查变量:
opt_q=1
答案 1 :(得分:0)
我这样做的方法是在case块中设置一个变量。 即。
while [ "$1" != "" ]; do
case $1 in
-h | --help ) DOHELP=true
;;
-q | --quit ) DOQUIT=true
;;
* ) echo "Invalid arg"
exit 1
esac
shift
done
if [ -n "$DOHELP" ]; then
usage
exit 0
fi
if [ -n "$DOQUIT" ]; then
exit 0
fi