在主Shell脚本文件里(必须以menu.sh命名)需要设计一个多操作选项的菜单,以便用户从中选择。在菜单中,自动实现以下功能: 1.创建用户选项。具体要求为当管理选择该选项后,系统允许管理员输入“用户名”,然后,自动创建Linux普通用户(密码默认为@Linux888)。 2.部署服务器选项。具体要求为通过yum命令,自动化部署某种服务器的服务;部署过程中,显示所安装的服务器版本号。 3.修改服务器配置并测试使用该服务器。。 4.防火墙配置选项。具体要求为当管理选择该选项后,系统允许管理员输入“端口号”及“on/off”操作,系统根据管理员的输入,开启或关闭指定的端口号。 5.退出系统选项。具体要求为当管理选择该选项后,系统退出。
时间: 2023-12-17 09:02:23 浏览: 75
非常简单的Shell菜单脚本
以下是一个简单的实现,目前仅支持CentOS系统。你可以将以下代码复制到menu.sh文件中。
```bash
#!/bin/bash
while true
do
clear
echo "============================="
echo " 欢迎使用管理菜单 "
echo "============================="
echo "1.创建用户"
echo "2.部署服务器"
echo "3.修改服务器配置并测试"
echo "4.防火墙配置"
echo "5.退出系统"
read -p "请输入对应数字:" input
case $input in
1)
read -p "请输入用户名:" username
useradd $username
echo "@Linux888" | passwd --stdin $username
echo "用户创建成功!密码为@Linux888"
read -p "按任意键继续..."
;;
2)
echo "请选择要部署的服务器:"
echo "1. Apache"
echo "2. Nginx"
echo "3. MySQL"
read -p "请输入对应数字:" server
case $server in
1)
yum install httpd -y
echo "Apache已安装,版本为:"
httpd -v
read -p "按任意键继续..."
;;
2)
yum install nginx -y
echo "Nginx已安装,版本为:"
nginx -v
read -p "按任意键继续..."
;;
3)
yum install mariadb-server -y
echo "MySQL已安装,版本为:"
mysql --version
read -p "按任意键继续..."
;;
*)
echo "无效的输入!"
read -p "按任意键继续..."
;;
esac
;;
3)
echo "修改服务器配置并测试..."
# TODO: 在此处添加代码
read -p "按任意键继续..."
;;
4)
read -p "请输入要开启/关闭的端口号:" port
read -p "请输入on/off:" status
case $status in
"on")
firewall-cmd --add-port=$port/tcp --permanent
firewall-cmd --reload
echo "端口$port已开启!"
read -p "按任意键继续..."
;;
"off")
firewall-cmd --remove-port=$port/tcp --permanent
firewall-cmd --reload
echo "端口$port已关闭!"
read -p "按任意键继续..."
;;
*)
echo "无效的输入!"
read -p "按任意键继续..."
;;
esac
;;
5)
echo "退出系统..."
exit 0
;;
*)
echo "无效的输入!"
read -p "按任意键继续..."
;;
esac
done
```
注意:该脚本需要以root用户身份运行。如果你不是root用户,请使用sudo命令运行脚本。
阅读全文