当前位置: 首页 > news >正文

Linux软件下载菜单脚本

实现功能

提供图形化菜单界面

支持常见软件分类(lamp,lnmp)

新建menu.sh脚本
#!/binbashfunction menu(){
cat << EOF
----------------------------------------------
|*******Please Enter Your Choice:[1-4]*******|
----------------------------------------------
*    `echo -e "\033[35m 1)lamp install\033[0m"`
*    `echo -e "\033[35m 2)lnmp install\033[0m"`
*    `echo -e "\033[35m 3)quit\033[0m"`
*    `echo -e "\033[35m 4)return main menu\033[0m"`
EOF
}
function lamp_menu(){
cat << EOF
----------------------------------------------
|*******Please Enter Your Choice:[1-4]*******|
----------------------------------------------
*    `echo -e "\033[35m 1)http install\033[0m"`
*    `echo -e "\033[35m 2)mysql install\033[0m"`
*    `echo -e "\033[35m 3)php install\033[0m"`
*    `echo -e "\033[35m 4)return main menu\033[0m"`
EOF
read -p "####please input second_lamp optios[1-4]:" num2
expr $num2 + 1 &> /dev/null
if [ $? -ne 0  ]
thenecho "#############################"echo "waing !!!,input error "echo "please enter choose[1-4]:"echo "#############################"sleep 1
elseif [ $num2 -gt 4 ]thenecho "############################"echo "waing !!!,out df range"echo "please enter choose[1-4]:"echo "############################"sleep 1fi
fi
case $num2 in1)yum install httpd -y &> /dev/nullif (($?==0))thenecho "httpd安装成功"fisleep 2lamp_menu;;2)yum install mariadb-server -y &> /dev/nullif (($?==0))thenecho "mysql安装成功"fisleep 2lamp_menu;;3)yum install php* -y &> /dev/nullif (($?==0))thenecho "php安装成功"fisleep 2lamp_menu;;4)clearmenu;;*)clearechoecho -e "Wring!!!Please input aging choice:[1-4]"lamp_menu
esac
}
function lnmp_menu(){
cat << EOF
----------------------------------------------
|*******Please Enter Your Choice:[1-4]*******|
----------------------------------------------
*    `echo -e "\033[35m 1)nginx install\033[0m"`
*    `echo -e "\033[35m 2)mysql install\033[0m"`
*    `echo -e "\033[35m 3)php install\033[0m"`
*    `echo -e "\033[35m 4)return main menu\033[0m"`
EOF
read -p "####please input second_lamp optios[1-4]:" num2
expr $num2 + 1 &> /dev/null
if [ $? -ne 0 ]
thenecho "#############################"echo "waing !!!,input error "echo "please enter choose[1-4]:"echo "#############################"sleep 1
elseif [ $num2 -gt 4 ]thenecho "############################"echo "waing !!!,out df range"echo "please enter choose[1-4]:"echo "############################"sleep 1fi
fi
case $num2 in1)yum install nginx -y &> /dev/nullif (($?==0))thenecho "httpd安装成功"fisleep 2lnmp_menu;;2)yum install mariadb-server -y &> /dev/nullif (($?==0))thenecho "mysql安装成功"fisleep 2lnmp_menu;;3)yum install php* -y &> /dev/nullif (($?==0))thenecho "php安装成功"fisleep 2lnmp_menu;;4)clearmenu;;*)clearechoecho -e "Wring!!!Please input aging choice:[1-4]"lnmp_menu
esac
}clear
menu
while true
doread -p "###please enter your first_menu choice:[1-4]" num1expr $num1 + 1 &> /dev/nullif (($?>0))thenecho "-----------------------------"echo "|          waring!!!        |"echo "|please enter right choice! |"echo "-----------------------------"sleep 1elif (($num1>4))thenecho "-----------------------------"echo "|          waring!!!        |"echo "|       out of range! |"echo "-----------------------------"sleep 1elsecase $num1 in1)clearlamp_menu;;2)clearlnmp_menu;;3)clearbreak;;4)clearmenu;;*)clearecho -e "error!!please enter again choice:[1-4]"menuesacfi
done
脚本执行
bash menu.sh
执行结果

小结

本文介绍了一个基于Bash脚本的图形化菜单系统,用于自动化安装LAMP和LNMP环境。脚本包含三个主要功能:主菜单显示LAMP/LNMP安装选项,二级菜单提供具体组件(如HTTP/Nginx、MySQL、PHP)的安装选择。通过case语句处理用户输入,使用yum命令自动安装软件包,并包含输入验证和错误处理功能。执行方式为运行"bash menu.sh",该脚本为用户提供了便捷的服务器环境搭建工具,支持返回主菜单和退出功能。

http://www.lryc.cn/news/621421.html

相关文章:

  • 2025 年电赛 C 题 发挥部分 1:多正方形 / 重叠正方形高精度识别与最小边长测量
  • 待办事项小程序开发
  • Multimodal RAG Enhanced Visual Description
  • 容器运行时支持GPU,并使用1panel安装ollama
  • 【嵌入式C语言】四
  • 20道前端性能优化面试题精华
  • python学习DAY41打卡
  • 低配硬件运行智谱GLM-4.5V视觉语言模型推理服务的方法
  • 《WebGL中FBO的底层运行逻辑》
  • 基于ECharts和EdgeOne打造云上智能图表
  • 编排之神-Kubernetes中的微服务介绍及演练
  • (2-10-1)MyBatis的基础与基本使用
  • 大数据项目_基于Python+hadopp的城市空气污染数据关联性可视化分析系统源码_基于机器学习的城市空气污染预测与分析系统的设计与实现
  • C/C++ 进阶:深入解析 GCC:从源码到可执行程序的魔法四步曲
  • 卫星通信链路预算之七:上行载噪比计算
  • 【C#】PNG 和 JPG、JPEG的应用以及三种格式的区别?
  • [系统架构设计师]软件工程基础知识(五)
  • 《量子雷达》第5章 量子雷达发射机 预习2025.8.14
  • “Zen 5”: The AMD High-Performance 4nm x86-64 Microprocessor Core
  • 接口测试用例的编写
  • Avalonia_SukiUI明暗主题切换时部分元素颜色不变
  • vue内置组件
  • 基于wireshark的USB 全速硬件抓包工具USB Sniffer Lite的使用
  • 打靶日常-CSRF
  • pytorch学习笔记-加载现有的网络模型(VGG16)、增加/修改其中的网络层(修改为10分类)
  • 分布式锁—Redisson的公平锁
  • 如何更好地使用AI编程?
  • MySQL窗口函数与PyMySQL以及SQL注入
  • C#笔记啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
  • JavaScript 解构赋值语法详解