需求

命令太长,参数难得记,每次难得敲

方案

主要有以下2种方法,都已验证

readcase 实现

function menu ()
{
cat << EOF
----------------------------------------
|********* Product Model Menu **********|
----------------------------------------
`echo -e "\033[35m 1)NAS8531(default)\033[0m"`
`echo -e "\033[35m 2)NAS8533\033[0m"`
`echo -e "\033[35m 3)Menu\033[0m"`
`echo -e "\033[35m 4)Quit\033[0m"`
EOF
read -p "Please select product model:" input
case $input in
	1)	
		PRODUCT_MODEL=8531
	;;
	2)
		PRODUCT_MODEL=8533
	;;
	3)
		clear
		menu
	;;
	4)
		exit 0
	;;
	*)
		echo "Input Error ,Please again !!!"
		exit 1
	;;
esac
}

select实现

function menu2 ()
{
echo -e "\033[35m Please select product model:\033[0m"
select PRODUCT_MODEL in 8531 8533;
do
    break
done
 
echo  -e "\033[31m You have selected: $PRODUCT_MODEL \033[0m"
}

echo相关扩展

  1. echo显示字体颜色
    #字体颜色:30m-37m 黑、红、绿、黄、蓝、紫、青、白
    str="xxx"
    echo -e "\033[30m ${str}\033[0m"      ## 黑色字体
    echo -e "\033[31m ${str}\033[0m"      ## 红色
    echo -e "\033[32m ${str}\033[0m"      ## 绿色
    echo -e "\033[33m ${str}\033[0m"      ## 黄色
    echo -e "\033[34m ${str}\033[0m"      ## 蓝色
    echo -e "\033[35m ${str}\033[0m"      ## 紫色
    echo -e "\033[36m ${str}\033[0m"      ## 青色
    echo -e "\033[37m ${str}\033[0m"      ## 白色
  2. echo显示背景色+字体颜色
    #背景颜色:40-47 黑、红、绿、黄、蓝、紫、青、白
    str="xxx"
    echo -e "\033[41;37m ${str} \033[0m"     ## 红色背景色,白色字体
    echo -e "\033[41;33m ${str} \033[0m"     ## 红底黄字
    echo -e "\033[1;41;33m ${str} \033[0m"   ## 红底黄字 高亮加粗显示
    echo -e "\033[5;41;33m ${str} \033[0m"   ## 红底黄字 字体闪烁显示
    echo -e "\033[47;30m ${str} \033[0m"     ## 白底黑字
    echo -e "\033[40;37m ${str} \033[0m"     ## 黑底白字
  3. 其他参数

    -e :打开反斜杠转义 (默认不打开) ,可以转义 “\n, \t” 等

    #    \033[1;m 设置高亮加粗
    #  \033[4;m 下划线 
    #  \033[5;m 闪烁