shell编程-完成一个shell脚本,脚本的作用

完成一个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"

#查看本机IP地址,注意,需要检查系统网卡名称是否是ens192
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}"
}

# 判断本机IP,若本地IP包含"3"则打印当前时间,否则创建magedu_00,...,magedu_100用户
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}"
}


# Rocky或者CentOS系统安装Nginx服务
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
}


# Ubuntu系统安装Nginx服务
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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_42832278

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值