#! /bin/sh
SELECT_PLATFORM=
PLATFORM_LIST=( INTEL AMD QCOM MTK )
DEFAULT_PLATFORM=0
## ============================================================================
get_platform() {
platform=0
echo "support platforms:"
for i in "${!PLATFORM_LIST[@]}";
do
printf "\t%s\t%s\n" "$i" "${PLATFORM_LIST[$i]}"
done
read -n 1 -ep "Select the platform[0...$i,default 0]:" platform
if [ "$platform" == "" ]; then
platform=$DEFAULT_PLATFORM;
fi
tmp=`echo $platform|sed 's/[0-9]//g'`
if [ ! -z $tmp ]
then
echo -e "\033[31mThis is not a num,please input num!!!\033[0m"
exit 1
fi
if [ $platform -lt 0 ]||[ $platform -ge ${#PLATFORM_LIST[@]} ]; then
echo -e "\033[31mError: No platform you select!!!\033[0m"
echo
fi
SELECT_PLATFORM=${PLATFORM_LIST[$platform]}
}
get_platform
echo "SELECT_PLATFORM=$SELECT_PLATFORM"
此脚本会对PLATFORM_LIST列表中的平台进行选择
read只读取输入的第一个字符
如果不输入,选择默认平台DEFAULT_PLATFORM
如果输入非数字,则打印error信息
如果输入大于列表元素的值,打印报错
因为之前配置了read只读第一个字符,所有负数在第三个判断不会遇到,但还是保留了。