Shell实现菜单选择
需求
命令太长,参数难得记,每次难得敲
方案
主要有以下2种方法,都已验证
read
和 case
实现
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相关扩展
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" ## 白色
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" ## 黑底白字
- 其他参数
-e :打开反斜杠转义 (默认不打开) ,可以转义 “\n, \t” 等
# \033[1;m 设置高亮加粗 # \033[4;m 下划线 # \033[5;m 闪烁
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DD'Notes!
评论