首页 > 系统相关 >linux 脚本基础实战1

linux 脚本基础实战1

时间:2023-06-11 17:11:46浏览次数:55  
标签:实战 脚本 ip linux magedu dev echo pass 100

脚本完成功能

1. 显示出本机的ip地址

2. 如果ip地址中有3这个数字,打印出当前的系统时间

3. 如果ip地址中不含3这个数字,批量建立用户magedu_00, magedu_01, ... magedu_100,所有用户同属于magedu组

4. 打印 /etc/passwd 这个文件中可以登陆的用户(非/usr/sbin/nologin)

5. yum安装nginx服务,启动该服务

# vim myscript1.sh

#!/bin/bash
ip a show eth0 | grep -o -E "inet [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"| cut -d" " -f2 | tee a.txt

cd /data/

grep 3 -q a.txt
a=`echo $?`
if [ $a -eq "0" ];then
	date
else
	for i in {00..99};do
		pass=`cat /dev/urandom | tr -dc "[:alnum:]"|head -c10`
		useradd magedu_$i
		echo $pass | passwd --stin magedu_$i &>/dev/null
		echo magedu_$i:$pass >> /data/user.log
		echo magedu_$i is created!
	done

	pass=`cat /dev/urandom | tr -dc "[:alnum:]"|head -c10`
	useradd magedu_100
	echo $pass | passwd --stin magedu_100 &>/dev/null
	echo magedu_100:$pass >> /data/user.log
	echo magedu_100 is created!
	groupadd magedu
	chgrp magedu /home/magedu_{00..99}
	chgrp magedu /home/magedu_100
fi
grep -v /sbin/nologin$ /etc/passwd
yum -y install nginx
systemctl enable --now nginx

标签:实战,脚本,ip,linux,magedu,dev,echo,pass,100
From: https://www.cnblogs.com/song82/p/17469286.html

相关文章

  • Redis学习笔记4-脚本、持久化和集群 Redis学习笔记1-基础命令及数据结构: http://blog.
        Redis学习笔记4-脚本、持久化和集群Redis学习笔记1-基础命令及数据结构:http://blog.guoyb.com/2016/07/21/learn-redis-basic-commands/Redis学习笔记2-事务与过期时间:http://blog.guoyb.com/2016/08/23/learn-redis-adv/Redis学习笔记3-排序与消息通知:http://blog......
  • 透过 Go 语言探索 Linux 网络通信的本质
    前言各种编程语言百花齐放、百家争鸣,但是“万变不离其中”。对于网络通信而言,每一种编程语言的实现方式都不一样;但其实,调用的底层逻辑都是一样的。linux系统底层向上提供了统一的Socket通信系统函数,动态链接库/lib64/libc.so中就是实现网络通信的关键类库。下面我们会以Go......
  • Linux命令篇 - tar 命令
    tarGNU`tar'savesmanyfilestogetherintoasingletapeordiskarchive,andcanrestoreindividualfilesfromthearchive.tar:用于压缩和解压缩文件;格式:tar[OPTION...][FILE]...#tar命令常用的功能#以下功能是独立的,一次只能使用一个--c:创建新的tar文件......
  • Spring Boot&Vue3前后端分离实战wiki知识库系统<八>--分类管理功能开发二
    接着上一次SpringBoot&Vue3前后端分离实战wiki知识库系统<七>--分类管理功能开发的分类功能继续完善。分类编辑功能优化:概述:现在分类编辑时的界面长这样:很明显目前的父分类的展现形式不太人性,这里需要指定父分类的id才可以,对于用户来说这种交互是反人道的,用户怎么知道父分类......
  • WFP必须掌握的技能之自定义控件——实战:自制上传文件显示进度按钮
    自定义控件在WPF开发中是很常见的,有时候某些控件需要契合业务或者美化统一样式,这时候就需要对控件做出一些改造。目录按钮设置圆角按钮上传文件相关定义测试代码话不多说直接看效果默认效果:上传效果:按钮设置圆角因为按钮本身没有CornerRadius属性,所以只能重写Butto......
  • 【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实
    异常传播有时候,您可能需要重新抛出捕获到的异常。这种情况通常发生在捕获到Error或RuntimeException时,因为您可能没有预料到这些异常,但在声明捕获Throwable和Exception时,它们也被包含在内了。为了解决这个问题,Guava提供了多种方法来判断异常类型并重新抛出异常。例如:try{......
  • Linux下安装python3.7.9
    操作系统与原有python[pythondemo@localhost~]$cat/etc/centos-releaseCentOSLinuxrelease7.4.1708(Core)[pythondemo@localhost~]$pythonPython2.7.5(default,Aug42017,00:39:18)[GCC4.8.520150623(RedHat4.8.5-16)]onlinux2Type"help",......
  • Linux命令行与shell脚本编程大全学习笔记
    理解Linux文件权限执行ls-l命令获取当前目录下所有文件、目录和设备的权限。显示的列表字段分别为:文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b);文件的权限;文件的硬链接总数;文件属主的用户名;文件属组的组名;文件的大小(以字节为单位);文件的上次修改时间;文件名或目录名。输出......
  • Linux下六个有关file使用的实例
    简介file的官方解释为:file - determine file type也就是说可以识别文件类型的意思,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的,所以加不加后缀真的无所谓,谁会爱上谁,说起Windows吗,啥也不说了。实例下面......
  • Linux平台下的ELF文件结构探索
    本文以目标文件的结构为引子,通过探索在Linux环境下,一个具体的目标文件的结构来窥探ELF文件的结构。了解ELF文件的结构,对于加深对链接的理解、认识操作系统背后机理都有很大好处。编译和链接在正式讨论目标文件的结构之前,需要先对一个C/C++程序从源代码到可执行程序的构建过程有所了......