while [ $# -gt 0 ] ; do
case "$1" in
--) shift ; break ;;
-a) shift ; APPEND=yes ;;
-n) shift ; BOARD_NAME="${1%%_config}" ; shift ;;
*) break ;;
esac
done
$#为shell中的一个特殊变量,代表传入参数的个数,-gt是大于的意思,该行的意思是“当传入参数个数大于0时”进入循环
------------------------------------------------------------------------------------------------------------------------------------
[ "${BOARD_NAME}" ] || BOARD_NAME="$1"
有或的意思,如果||前的[]中不为NULL,那么||后面的就屏蔽了,很不幸,这里||前面部分却为NULL,所以BOARD_NAME=fs2410(第一个参数的值)
-------------------------------------------------------------------------------------------------------------------------------
[ $# -lt 4 ] && exit 1
[ $# -gt 6 ] && exit 1
第一个是小于4
第二个是大于6
有且的意思。如果&&前面的条件成立则执行后面的退出指令