SHELL的脚本编辑与运行

news2024/12/26 11:47:56

目录

1.编写脚本for1.sh,使用for循环创建20账户,账户名前缀由用户从键盘输入,账户初始密码由用户输入,例如:test1、test2、test3、、test10

a.编辑脚本

b.运行脚本

c.进行检验

2.编写脚本for2.sh,使用for循环,通过pig命令测试网段的主机连通性,网段前3段由用户输入,如:输入192.168.48,则ping192.168.48.125-192.168.48.135,将可以ping通的主机IP地址写入到/tmp/host_up.txt文件中,不能ping通的主机IP地址写入到:/tmp/host_down.txt文件中

a.编写脚本

b.运行脚本

3.使用for循环实现批量主机root密码的修改

(1)打开多台主机,创建一个文件存放主机IP

(2)使用ssh-keygen命令建立密钥对

(3)多台主机间通过ssh-copy-id进行免密登录

(4)编写脚本for3.sh,通过for循环登录主机修改对方root账户密码


1.编写脚本for1.sh,使用for循环创建20账户,账户名前缀由用户从键盘输入,账户初始密码由用户
输入,例如:test1、test2、test3、、test10

a.编辑脚本

[root@srever ~]# vim for1.sh

b.运行脚本

[root@srever ~]# bash for1.sh 
请输入用户账户名前缀: lisa
请输入用户的密码: 123456

c.进行检验

[root@srever ~]# cat  /etc/passwd  |  tail  -20
lisa1:x:1001:1001::/home/lisa1:/bin/bash
lisa2:x:1002:1002::/home/lisa2:/bin/bash
lisa3:x:1003:1003::/home/lisa3:/bin/bash
lisa4:x:1004:1004::/home/lisa4:/bin/bash
lisa5:x:1005:1005::/home/lisa5:/bin/bash
lisa6:x:1006:1006::/home/lisa6:/bin/bash
lisa7:x:1007:1007::/home/lisa7:/bin/bash
lisa8:x:1008:1008::/home/lisa8:/bin/bash
lisa9:x:1009:1009::/home/lisa9:/bin/bash
lisa10:x:1010:1010::/home/lisa10:/bin/bash
lisa11:x:1011:1011::/home/lisa11:/bin/bash
lisa12:x:1012:1012::/home/lisa12:/bin/bash
lisa13:x:1013:1013::/home/lisa13:/bin/bash
lisa14:x:1014:1014::/home/lisa14:/bin/bash
lisa15:x:1015:1015::/home/lisa15:/bin/bash
lisa16:x:1016:1016::/home/lisa16:/bin/bash
lisa17:x:1017:1017::/home/lisa17:/bin/bash
lisa18:x:1018:1018::/home/lisa18:/bin/bash
lisa19:x:1019:1019::/home/lisa19:/bin/bash
lisa20:x:1020:1020::/home/lisa20:/bin/bash

2.编写脚本for2.sh,使用for循环,通过pig命令测试网段的主机连通性,网段前3段由用户输入,
如:输入192.168.48,则ping192.168.48.125-192.168.48.135,将可以ping通的主机IP
地址写入到/tmp/host_up.txt文件中,不能ping通的主机IP地址写入到:/tmp/host_down.txt
文件中

a.编写脚本

[root@srever ~]# vim for2.sh

b.运行脚本

[root@srever ~]# bash for2.sh 
请输入网段:192.168.154
up ip: 
192.168.154.128 is up
192.168.154.129 is up

down ip :
192.168.154.125 is up
192.168.154.126 is up
192.168.154.127 is up
192.168.154.130 is up
192.168.154.131 is up
192.168.154.132 is up
192.168.154.133 is up
192.168.154.134 is up
192.168.154.135 is up

3.使用for循环实现批量主机root密码的修改

(1)打开多台主机,创建一个文件存放主机IP

[root@srever ~]# vim ip.txt
192.168.154.129

(2)使用ssh-keygen命令建立密钥对

[root@srever ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:aOWjqiz9+jFpFUnSSl+C1SQ3XlUY6vjVl5hRCtgDCyU root@srever
The key's randomart image is:
+---[RSA 3072]----+
|    .++E=o=oo+.. |
|    ooo==+.+o o  |
|   . oooo.. .o   |
|    . .= o   .+ .|
|      + S . .o...|
|     + . o .   . |
| .  = .   .      |
|.... +           |
| .+=+            |
+----[SHA256]-----+

(3)多台主机间通过ssh-copy-id进行免密登录

[root@srever ~]# ssh-copy-id root@192.168.154.129
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.154.129 (192.168.154.129)' can't be established.
ED25519 key fingerprint is SHA256:uQorZCoLEhNo95SxCTX7DZJFlIBsQrE6RauI4AMvLWk.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? y
Please type 'yes', 'no' or the fingerprint: yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.154.129's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.168.154.129'"
and check to make sure that only the key(s) you wanted were added.

进行验证

[root@srever ~]# ssh 192.168.154.129
Activate the web console with: systemctl enable --now cockpit.socket

Register this system with Red Hat Insights: insights-client --register
Create an account or view all your systems at https://red.ht/insights-dashboard
Last login: Sun Apr 16 13:52:21 2023 from 192.168.154.1
[root@srever ~]# 

(4)编写脚本for3.sh,通过for循环登录主机修改对方root账户密码

[root@srever ~]# vim for3.sh

 运行脚本

[root@srever ~]# bash for3.sh 
请输入密码:123456
更改用户 root 的密码 。
passwd:所有的身份验证令牌已经成功更新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/448347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何把aac转化为mp3,4个处理方法教给你

一般情况下,将 AAC 文件转换为 MP3 文件有以下几种情况:设备不兼容:AAC 格式通常用于苹果设备上。如果您想在其他设备上播放音频文件,如 Android 手机、MP3 播放器等,就需要将其转换为 MP3 格式。需要更好的兼容性&…

机器学习(七):基于多项式贝叶斯对蘑菇毒性分类预测分析

系列文章目录 作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒关注…

第六章 原型模式

文章目录 前言一、克隆羊问题sheep类clint 调用方 二、引入原型模式动态克隆对象sheep类clint 类 三、原型模式在Spring框架中源码分析四、深拷贝与浅拷贝完整代码DeepCloneableTargetDeepProtoTypeClient2 五、原型模式的注意事项和细节 前言 一、克隆羊问题 sheep类 package…

mysql查询字段未加引号问题及隐式转换

1. 问题重现 最近线上出了个问题,用户明明没有投票,却提示已投票,我查询数据,刚开始没有查出数据,后来却查出数据了,以为没有问题,后来以为是插入的时候通过int类型插入,导致varcha…

美国最大公共养老基金之一Strs Ohio不断增持IonQ股票

​ (图片来源:网络) 截至2022年12月31日第四季度末,美国最大的公共养老基金之一Strs Ohio发布报告称,其一直在增持IonQ,Inc.(纽约证券交易所代码:IONQ)的股份。资产管理公…

如何在云服务器/云主机上部署最新版本的Hadoop3.3.5(Ubuntu20.0.4)

在云服务器上部署Hadoop 步骤1:更新系统 sudo apt-get update sudo apt-get upgrade步骤2:安装Java Hadoop需要Java运行环境。首先,安装OpenJDK 8: sudo apt-get install openjdk-8-jdk检查Java版本: java -versi…

上海车展:比亚迪宋L概念车全球首发,这是要硬扛特斯拉?

纵观2023年的新能源汽车市场,特斯拉可以说当仁不让地成为了全球最为“吸睛”的车企之一。凭借一系列令无数人瞠目结舌的降价举措,特斯拉给全球汽车市场带来了强烈冲击。虽然特斯拉上海工厂已经接近满负荷运转,但是面对雪片般飞来的订单依然供…

SpringBoot设置动态定时任务

SpringBoot设置动态定时任务 1.准备工作 搭建SpringBoot工程 引入相关依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><depende…

ROS学习第八节——话题通信自定义msg

1.介绍 在 ROS 通信协议中&#xff0c;数据载体是一个较为重要组成部分&#xff0c;ROS 中通过 std_msgs 封装了一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty.... 但是&#xff0c;这些数据一般只包含一个 data 字段&#xff0c;结构的单一意味着功能上的…

Java基础(九)多线程

我们之前学习的程序在没有跳转语句的情况下&#xff0c;都是由上至下沿着一条路径依次执行。现在想要设计一个程序&#xff0c;可以同时有多条执行路径同时执行。比如&#xff0c;一边游戏&#xff0c;一边qq聊天&#xff0c;一边听歌&#xff0c;怎么设计&#xff1f; 要解决…

每日一个小技巧:今天告诉你拍照识别文字的软件有哪些

在现代社会里&#xff0c;手机已经成为了人们生活中必不可少的工具。它的功能众多&#xff0c;比如通讯、上网、拍照以及导航等&#xff0c;为我们的生活带来了许多便利。除此之外&#xff0c;手机还能帮助我们解决一些实际的问题&#xff0c;例如&#xff0c;当你需要识别图片…

Spring Aop详解汇总

文章目录 近期想法什么是AOPSpringAOP与AspectjSpringAOP体系概述概念详解连接点- Jointpoint切入点- Pointcut通知- Advice切面- Aspect织入- Weaving 实现原理—动态代理JDK动态代理描述原理代码示例注意执行结果 优点缺点 CGLib动态代理描述原理代码示例注意执行结果 优点缺…

ChatGPT会凉吗?巴菲特、马斯克呼吁暂停

ChatGPT 迅速“风靡”全球&#xff0c;无疑成为了人工智能领域备受瞩目的“明星产品”&#xff0c;然而随着 ChatGPT 应用越来越广泛&#xff0c;陆续爆出被用于学术造假、制作黑客武器以及泄露用户敏感聊天信息等一系列负面新闻。至此&#xff0c;社会开始重新审视类似 ChatGP…

图像傅里叶变换以及频谱中心化

图像的空域滤波&#xff1a; I ∗ G I*G I∗G 矩阵 I I I与一个小矩阵 G G G进行卷积 图像的频域滤波&#xff1a; F − 1 [ F [ I ] H ] F^{-1}[F[I]\times H] F−1[F[I]H] 矩阵 I I I的傅里叶变换与同样大小的矩阵 H H H进行对应元素相乘&#xff0c;然后将结果通过逆傅里…

并查集解决图的连通性问题

并查集 1. 定义2.并查集3.模板代码4. 力扣例题4.1 剑指 Offer II 118. 多余的边4.2 力扣695. 岛屿的最大面积 1. 定义 在计算机科学中&#xff0c;并查集&#xff08;英文&#xff1a;Disjoint-set data structure&#xff0c;直译为不交集数据结构&#xff09;是一种数据结构&…

卷积神经网络轻量化教程之通道剪枝【附代码】

这两天自己手写了一个可以简单实现通道剪枝的代码&#xff0c;在这篇文章中也会对代码进行讲解&#xff0c;方便大家在自己代码中的使用。 如果还想学习YOLO系列的剪枝代码&#xff0c;可以参考我其他文章&#xff0c;下面的这些文章都是我根据通道剪枝的论文在YOLO上进行的实…

React框架----路由管理

文章目录 SPA路由路由基本使用路由组件与一般组件NavLink SPA single page application只有一个页面异步请求数据&#xff0c;局部更新页面本地局部切换页面&#xff08;不会向服务端加载整个页面&#xff09; 路由 地址栏路径与组件的对应关系切换路径&#xff0c;则切换组…

YOLOv5+单目跟踪(python)

YOLOv5单目跟踪&#xff08;python&#xff09; 1. 目标跟踪2. 测距模块2.1 设置测距模块2.2 添加测距 3. 主代码4. 实验效果 相关链接 1. YOLOv5单目测距&#xff08;python&#xff09; 2. YOLOv7单目测距&#xff08;python&#xff09; 3. YOLOv7单目跟踪&#xff08;pytho…

JDBC详解(一):JDBC概述

JDBC概述 前言一、数据的持久化1、概念2、应用 二、Java中的数据存储技术三、JDBC介绍四、JDBC体系结构五、JDBC程序编写步骤 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识&#xff0c;有兴趣的小伙伴可以关注博主&#xff01;也许一个人独行&#…

全志 Orange Pi相关网站集

Orange Pi 系统安装的常识 看到有教程说android系统需要用win32diskimager才能成功烧写运行镜像名称与版本的对应关系 ubuntu版本号代号16.04Xenial Xerus&#xff08;好客的非洲地鼠&#xff09;18.04Bionio Beaver &#xff08;仿生海狸}20.04Focal Fossa &#xff08;类似…