第二周随笔

完成一个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服务,并且启动该服务

脚本内容如下:

#!/bin/bash

# 显示ip地址
ip=`ifconfig | sed -n '2p' |tr -s ' '|cut -d' ' -f3`
echo "本机ip地址为:$ip"

# ip中有3则打印系统时间
if [[ $ip =~ 3 ]];then
     date +"%c"
else
    # 不含3这个数字,就批量建立用户
    groupadd magedu &>/dev/null
    for i in {1..100}
    do
        [ $i -le 9 ] && i=0$i
        id magedu_$i &> /dev/null
        [ $? -ne 0 ] && useradd magedu_$i -g magedu
    done
    echo "批量建立用户完成"
fi

# 打印出/etc/passwd这个文件中可以登陆的用户
echo "可以登录的用户如下"
grep -v 'nologin$' /etc/passwd |cut -d: -f1|xargs echo
# 安装nginx
yum list installed | grep -q nginx
if [ $? -ne 0 ];then
    yum install nginx -y &> /dev/null
    [ $? -eq 0 ] && echo "nginx安装成功" || echo "nginx安装失败"
else
    echo "nginx已安装"
fi
# 启动nginx
systemctl restart nginx
sleep 3
systemctl status nginx &> /dev/null
[ $? -eq 0 ] && echo "nginx启动成功" || echo "nginx启动失败"

运行此脚本结果如下:

posted @   昵称-点点  阅读(11)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示