在主Shell脚本文件里(必须以menu.sh命名)需要设计一个多操作选项的菜单,以便用户从中选择。在菜单中,自动实现以下功能: 1.创建用户选项。具体要求为当管理选择该选项后,系统允许管理员输入“用户名”,然后,自动创建Linux普通用户(密码默认为@Linux888)。 2.部署服务器选项。具体要求为通过yum命令,自动化部署某种服务器的服务;部署过程中,显示所安装的服务器版本号。 3.修改服务器配置并测试使用该服务器。 4.防火墙配置选项。具体要求为当管理选择该选项后,系统允许管理员输入“端口号”及“on/off”操作,系统根据管理员的输入,开启或关闭指定的端口号。 5.退出系统选项。具体要求为当管理选择该选项后,系统退出。
时间: 2023-11-28 13:49:37 浏览: 37
以下是一个实现该菜单功能的示例Shell脚本:
```bash
#!/bin/bash
while true; do
clear
echo "===================== 系统管理菜单 ====================="
echo "1. 创建用户"
echo "2. 部署服务器"
echo "3. 修改服务器配置并测试"
echo "4. 防火墙配置"
echo "5. 退出系统"
echo "========================================================"
read -p "请输入选项(1-5):" choice
case $choice in
1)
read -p "请输入用户名:" username
useradd $username -p '@Linux888'
echo "用户 $username 创建成功!"
read -p "按任意键继续..."
;;
2)
read -p "请输入要部署的服务器服务名称:" servername
yum install $servername -y
echo "服务器 $servername 安装成功!"
echo "版本号为:$(rpm -qi $servername | grep Version | awk '{print $3}')"
read -p "按任意键继续..."
;;
3)
read -p "请输入要修改的服务器配置文件路径:" filepath
vi $filepath
read -p "修改完成后,是否测试该服务器?(y/n)" test_choice
if [ "$test_choice" == "y" ]; then
# 在此处添加测试该服务器的代码
echo "测试该服务器..."
fi
read -p "按任意键继续..."
;;
4)
read -p "请输入要操作的端口号:" port
read -p "请输入要执行的操作(on/off):" action
if [ "$action" == "on" ]; then
firewall-cmd --add-port=$port/tcp --permanent
echo "端口 $port 开启成功!"
elif [ "$action" == "off" ]; then
firewall-cmd --remove-port=$port/tcp --permanent
echo "端口 $port 关闭成功!"
else
echo "无效的操作!"
fi
read -p "按任意键继续..."
;;
5)
echo "系统已退出!"
exit 0
;;
*)
echo "无效的选项!"
read -p "按任意键继续..."
;;
esac
done
```
在这个示例中,使用了一个无限循环来显示菜单并等待用户的输入。通过 `read` 命令读取用户的选择,并使用 `case` 语句根据选择执行相应的操作。其中,创建用户使用了 `useradd` 命令,部署服务器使用了 `yum` 命令,并使用 `rpm` 命令获取安装的服务器版本号。修改服务器配置文件使用了 `vi` 命令,测试服务器的代码可以根据实际需要添加。防火墙配置使用了 `firewall-cmd` 命令,并根据用户输入的操作(on/off)执行相应的操作。最后,当用户选择退出系统时,使用 `exit` 命令退出脚本。