shell脚本练习(5)

news/2025/1/15 22:53:56 标签: php, linux, 服务器

一、需求:判断192.168.121.0/24网络中,当前在线的ip有哪些,并编写脚本打印出来。

[root@openEuler-1 script]# cat exist_IP.sh
#!/bin/bash
#########################
#File name:exist_IP.sh
#Email:obboda@163.com
#Created time:2025-01-13 03:20:57
#Description:查看192.168.121.0/24网络中在线的ip有哪些
#########################

# 为了方便,这里只测试前20台主机
for i in 192.168.121.{1..20}
do
        if ping -c 1 $i &> /dev/null
        then
                echo "$i主机在线中..."
        else
                echo "$i主机离线中..."
        fi
done


# 测试脚本
[root@openEuler-1 script]# bash exist_IP.sh
192.168.121.1主机离线中...
192.168.121.2主机在线中...
192.168.121.3主机离线中...
192.168.121.4主机离线中...
192.168.121.5主机离线中...
192.168.121.6主机离线中...
192.168.121.7主机离线中...
192.168.121.8主机离线中...
192.168.121.9主机离线中...
192.168.121.10主机离线中...
192.168.121.11主机在线中...
192.168.121.12主机在线中...
192.168.121.13主机在线中...
192.168.121.14主机离线中...
192.168.121.15主机离线中...
192.168.121.16主机离线中...
192.168.121.17主机离线中...
192.168.121.18主机离线中...
192.168.121.19主机离线中...
192.168.121.20主机离线中...

二、设计一个 Shell 程序,在/userdata 目录下建立50个目录,即 user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。

[root@openEuler-1 script]# cat create_dirs.sh
#!/bin/bash
#########################
#File name:create_dirs.sh
#Email:obboda@163.com
#Created time:2025-01-13 04:18:45
#Description:批量创建用户
#########################

for i in user{1..50}
do
        # rwx-rx-r
        mkdir -pm 754 /userdata/$i
done


# 测试脚本
[root@openEuler-1 script]# bash create_dirs.sh
[root@openEuler-1 script]# echo $?
0
[root@openEuler-1 script]# ll /userdata/
total 200
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user1
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user10
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user11
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user12
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user13
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user14
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user15
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user16
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user17
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user18
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user19
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user2
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user20
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user21
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user22
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user23
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user24
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user25
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user26
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user27
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user28
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user29
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user3
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user30
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user31
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user32
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user33
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user34
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user35
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user36
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user37
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user38
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user39
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user4
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user40
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user41
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user42
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user43
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user44
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user45
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user46
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user47
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user48
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user49
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user5
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user50
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user6
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user7
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user8
drwxr-xr-- 2 root root 4096 Jan 13 04:31 user9

三、编写一个模拟双色球摇号过程的脚本。要求如下:

脚本内容:

测试脚本:


http://www.niftyadmin.cn/n/5824426.html

相关文章

如何制作一个高质量的 Dockerfile 镜像:从入门到实践

Docker 是一种轻量级的容器化技术,能够将应用程序及其依赖打包到一个可移植的容器中。Dockerfile 是构建 Docker 镜像的核心文件,它定义了镜像的构建步骤和配置。通过编写 Dockerfile,我们可以自动化地构建镜像,确保应用程序在不同…

Linux ssh连接算法配置

在Linux系统中,SSH连接的算法配置主要涉及密钥交换算法、加密算法和消息认证码算法。以下是如何查看和配置这些算法的具体步骤: 查看SSH服务器支持的算法 查看当前配置: 可以通过查看sshd_config文件来了解SSH服务器支持的算法。使用以下命令…

GESP2024年12月认证C++六级( 第三部分编程题(1)树上游走)

参考程序&#xff1a; #include <iostream> #include <string>using namespace std;int main() {long long n, s; // n为移动次数&#xff0c;s为初始节点编号string moves; // 移动指令串// 输入处理cin >> n >> s;cin >> moves;long long…

【Golang 面试题】每日 3 题(三十)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…

刀客doc:快手的商业化架构为什么又调了?

一、 1月10日&#xff0c;快手商业化及电商事业部进行新一轮的架构调整。作为2025年快手的第一次大调整&#xff0c;变动最大的是负责广告业务的商业化事业部。快手商业化将原来的8个业务中心&#xff0c;现在统合成了5个&#xff0c;行业归拢看上去更加明晰了。 根据自媒体《…

Android车机DIY开发之软件篇(九)默认应用和服务修改

Android车机DIY开发之软件篇(九)默认应用和服务修改 Car默认应用位置 ~/packages/apps/Car 增加APP 1.增加 XXXX.app 和Android.mk 2. 修改~/build/make/target/product/handheld_system_ext.mk Android默认APK位置 ~/packages/apps 1.增加文件夹 app和mk文件 2.build/mak…

VUE3 + Ant Design Vue4 开发笔记

异常记录 [Vue warn]: Extraneous non-props attributes (options) were passed to component but could not be automatically inherited because component renders fragment or text root nodes 定位原因解决方法 错误的中文释义&#xff1a;[Vue 警告]&#xff1a;传递给…

C#读写ini配置文件保存设置参数

本示例使用设备&#xff1a;https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.52de2c1b5P5rkA&ftt&id22173428704 [DllImport("kernel32", CharSet CharSet.Unicode)] public static extern uint GetPrivateProfileString(string lpAppName, stri…