当前位置: 首页 > 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.dtcms.com/a/331433.html

相关文章:

  • Effective C++ 条款41:理解隐式接口和编译期多态
  • 系统设计——DDD领域模型驱动实践
  • 深入浅出词向量(Word2Vec):从理论到实践
  • 数据结构初阶(13)排序算法-选择排序(选择排序、堆排序)(动图演示)
  • 【Java 后端】Spring Boot 集成 JPA 全攻略
  • HTTPS 工作原理
  • 电池充放电测试仪厂家:技术深耕与场景驱动的行业进阶
  • Java使用Apache POI读取Excel文件
  • Vue浅学
  • 深入解析 GitHub Actions 工作流文件编写:从入门到实战
  • 简单的 HTTPS 学习
  • 第四天-创建一个Classic CAN(经典CAN2.0)/CANFD的系统描述ARXML文件
  • 读From GPT-2 to gpt-oss: Analyzing the Architectural Advances
  • IPv6互联网地址解析
  • 从合规到卓越:全星QMS如何成为制造企业的质量战略引擎
  • linux 软硬链接详解
  • 《算法导论》第 25 章:所有结点对的最短路径问题
  • 计算机视觉CS231n学习(8)
  • 12 ABP Framework 租户管理
  • 介绍一下 自动驾驶 感知多任务训练模型设计
  • 面试题:如何用Flink实时计算QPS
  • 第4节 神经网络从公式简化到卷积神经网络(CNN)的进化之路
  • 第三章、GRU(门控循环网络,Gated Recurrent Unit)
  • redis中分布式锁的应用
  • 【js】让项目支持倾听和朗读AI技术
  • RTC时钟倒计时数码管同步显示实现(STC8)
  • AI模型选型:租快艇还是造航母?
  • 协作同步问题的深度分析与解决方案:结合表单汇总与AI技术提升运维效能
  • Git报错:Unlink of file ‘src/global/env.ts‘ failed. Should I try again? (y/n) y
  • AI对话框海量消息渲染优化:告别卡顿与跳动