检查 bash 中是否缺少标志
Checking for lack of flags in bash
如果我做这样的事情来处理 bash 中的参数,我将如何检查是否没有参数?它似乎没有涉及 *) 案例,但我仍然想在某处放置一个用法声明。
while getopts 'ias' flag; do
case "${flag}" in
i) ifl='true' ;;
m) afl='true' ;;
n) sfl='true' ;;
*) error "Invalid option ${flag}" ;;
esac
done
在 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
如果我做这样的事情来处理 bash 中的参数,我将如何检查是否没有参数?它似乎没有涉及 *) 案例,但我仍然想在某处放置一个用法声明。
while getopts 'ias' flag; do
case "${flag}" in
i) ifl='true' ;;
m) afl='true' ;;
n) sfl='true' ;;
*) error "Invalid option ${flag}" ;;
esac
done
在 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