完成一个shell脚本,脚本的作用
要求:
1. 运行脚本可以显示出本机的ip地址
2. 如果ip地址中有3这个数字,那么就打印出当前的系统时间;如果ip地址中不含3这个数字,就批量建立用户magedu_00, magedu_01, ... magedu_100并且所有用户同属于magedu组
3. 打印出/etc/passwd这个文件中可以登陆的用户(非/usr/sbin/nologin)
4. yum安装nginx服务,并且启动该服务设置开机自启动
5. 一个脚本完成
#!/bin/bash
COLOUR_START="\033[32m"
COLOUR_END="\033[0m"
function NET_IP {
NET_IP=`ip address show ens192 | sed -n 3p | awk '{print $2;}' | cut -d '/' -f1`
echo -e "${COLOUR_START}本机IP: \n$NET_IP\n${COLOUR_END}"
}
function USER_ADD {
if [[ $NET_IP == *3* ]]; then
echo -e "${COLOUR_START}当前时间: `date +%F" "%T`\n${COLOUR_END}"
else
groupadd magedu &> /dev/null
echo -e "${COLOUR_START}用户创建列表: ${COLOUR_END}"
for name in magedu_{0..100}; do
useradd -g magedu $name &> /dev/null
echo -e "${COLOUR_START}$name${COLOUR_END}"
done
fi
echo ""
}
function LOGIN_USER {
echo -e "${COLOUR_START}可登录用户: ${COLOUR_END}"
echo -e "${COLOUR_START}`cat /etc/passwd | grep -Ev "/sbin/nologin$" | cut -d ':' -f1`\n${COLOUR_END}"
}
function INSTALL_NGINX {
echo -e "${COLOUR_START}Nginx安装: ${COLOUR_END}"
rpm -qa | grep nginx &> /dev/null
if [ $? -eq 0 ]; then
echo -e "${COLOUR_START}Nginx 已安装${COLOUR_END}"
else
yum install -y nginx &> /dev/null
if [ $? -eq 0 ]; then
systemctl status nginx;systemctl enable nginx &> /dev/null
echo -e "${COLOUR_START}Nginx 安装成功并设置开机自启,服务已启动${COLOUR_END}"
else
echo -e "${COLOUR_START}Nginx 安装失败,请检查网络配置或apt源${COLOUR_END}"
fi
fi
}
function Ubuntu_NGINX {
echo -e "${COLOUR_START}Nginx安装: ${COLOUR_END}"
dpkg -s nginx &> /dev/null
if [ $? -eq 0 ]; then
echo -e "${COLOUR_START}Nginx 已安装${COLOUR_END}"
else
apt update &> /dev/null
apt install -y nginx &> /dev/null
if [ $? -eq 0 ]; then
service nginx start &> /dev/null
echo -e "${COLOUR_START}Nginx 安装成功,服务已启动${COLOUR_END}"
else
echo -e "${COLOUR_START}Nginx 安装失败,请检查网络配置或YUM源${COLOUR_END}"
fi
fi
}
function CentOS_Rocky {
NET_IP
USER_ADD
LOGIN_USER
INSTALL_NGINX
}
function Ubuntu {
NET_IP
USER_ADD
LOGIN_USER
Ubuntu_NGINX
}
PS3="请选择你的Linux版本: "
select MENU in "Rocky & CentOS" "Ubuntu" "退出"; do
case $REPLY in
1)
CentOS_Rocky
break
;;
2)
Ubuntu
break
;;
3)
echo -e "${COLOUR_START}程序退出${COLOUR_END}"
break
;;
*)
echo -e "${COLOUR_START}输入有误,请重新输入${COLOUR_END}"
;;
esac
done