Linux第二周练习

完成一个shell脚本,脚本的作用。

  1. 运行脚本可以显示出本机的ip地址
  2. 如果ip地址中有3这个数字,那么就打印出当前的系统时间
  3. 如果ip地址中不含3这个数字,就批量建立用户magedu_00, magedu_01, ... magedu_100并且所有用户同属于magedu组
  4. 打印出/etc/passwd这个文件中可以登陆的用户(非/usr/sbin/nologin)
  5. yum安装nginx服务,并且启动该服务
  6. 一个脚本完成
#!/bin/bash
#
#************************************
#Author:                 zhangtang
#Date:                   2023-05-27
#FileName:               practise02.sh
#Description:            练习
#Copyright:              2023
#************************************

HTTPVERSION=1.25.0
RED="\E[1;31m"
GREEN="\E[1;32m"
END="\E[0m"


function showip(){
 echo "本机的IP:" $(hostname -I)
}
function printsystemdate(){
    ip=$(hostname -I)
    if [ $(hostname -I|grep 3) ] ;then
        echo -e  "$RED当前时间: $(date +'%Y-%m-%d %T')$END"
    else
        autocreateuser
    fi
    
}
function autocreateuser(){
    echo -e "$RED开始批量创建用户\n$END"
    groupadd mageedu -f
    for i in {0..100}; do
        if [ $i -le 9 ] ; then
            id mageedu_00$i &>/dev/null ||   useradd mageedu_00$i -g mageedu > /dev/null

        elif [  $i -ge 10 -a $i -lt 100   ] ; then
             id mageedu_0$i  &>/dev/null  ||  useradd mageedu_0$i -g mageedu > /dev/null 
        else
             id mageedu_$i &>/dev/null   ||  useradd mageedu_$i -g mageedu > /dev/null
        fi
        
    done
    echo -e "$GREEN批量创建用户完成\n$END"
}
function deleteuser(){

    echo -e "$RED开始批量删除用户\n$END"

   grep  ^mageedu /etc/passwd|
     while read n ;do
       user=$(echo $n | cut -d ':' -f1)
        id $user &>/dev/null &&   userdel $user  -r  > /dev/null

        
     done   

     echo -e "$GREEN批量删除用户完成\n$END"

}
function printcanloginuser(){

 echo -e "$RED可以登录的用户:\n$END"
sed -nE '/[^nologin]$/p'  /etc/passwd |cut -d ':' -f1

}

function installngnix(){

    source /etc/os-release
        if [ $ID = 'ubuntu'   ] ; then
            apt -y install  gcc pcre-devel.x86_64  zlib-devel
        elif [ $ID = 'rocky'    ] ; then
         yum -y install   gcc  pcre-devel.x86_64 zlib-devel

        fi

    wget http://nginx.org/download/nginx-${HTTPVERSION}.tar.gz  -P /usr/local/src || { echo -e  "$RED下载失败$END"; exit 1 ; }

    if [ -e /usr/local/src/nginx-${HTTPVERSION}.tar.gz  ] ; then
    cd  /usr/local/src
    tar xf nginx-${HTTPVERSION}.tar.gz
    cd /usr/local/src/nginx-${HTTPVERSION}
    ./configure --prefix=/app/nginx && make && make install
    ln -s /app/nginx/sbin/nginx /usr/local/bin/
    nginx
    echo -e "$GREEN安装完成$END"
    echo -e "$GREEN请访问 $(hostname -I)$END"
else
    echo -e "$RED安装失败$END"
fi

systemctl disable --now  firewalld
  
}
showip
deleteuser
printsystemdate
#autocreateuser
printcanloginuser
installngnix

  

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、 运行脚本可以显示出本机的ip地址 echo "${local_ip=`ifconfig -a|grep in...
    Linux全套学习阅读 1,184评论 0 0
  • 作业要求完成一个shell脚本,脚本的作用。 运行脚本可以显示出本机的ip地址 如果ip地址中有3这个数字,那么就...
    Cynthia_eba2阅读 734评论 0 0
  • 作业 完成一个shell脚本,脚本的作用。 运行脚本可以显示出本机的ip地址 如果ip地址中有3这个数字,那么就打...
    路边三叶竹阅读 1,184评论 0 0
  • 1、运行脚本可以显示出本机的ip地址 2、如果ip地址中有3这个数字,那么就打印出当前的系统时间 3、如果ip地址...
    woo霖阅读 1,130评论 0 0
  • 运行脚本可以显示出本机的ip地址 如果ip地址中有3这个数字,那么就打印出当前的系统时间 如果ip地址中不含3这个...
    zzzed阅读 1,504评论 0 0

友情链接更多精彩内容