如果我要做这样的事情来处理bash中的参数,我该如何检查是否没有参数?它似乎没有转到*)的情况,但我仍然想在某处使用一个用法声明。
while getopts 'ias' flag; do
case "${flag}" in
i) ifl='true' ;;
m) afl='true' ;;
n) sfl='true' ;;
*) error "Invalid option ${flag}" ;;
esac
done
答案 0 :(得分:2)
在while循环之前,执行此操作
if (( $# == 0 )); then
echo "you must specify one of -i or -a or -s"
exit 1
fi
或者,在while循环之后,你可以这样做
if [[ $ifl != true && $afl != true && $sfl != true ]]; then
echo "you must specify one of -i or -a or -s"
exit 1
fi