SHELL的脚本编辑与运行

这篇具有很好参考价值的文章主要介绍了SHELL的脚本编辑与运行。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

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

SHELL的脚本编辑与运行

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

SHELL的脚本编辑与运行

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

SHELL的脚本编辑与运行

 运行脚本文章来源地址https://www.toymoban.com/news/detail-425834.html

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

到了这里,关于SHELL的脚本编辑与运行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • sh与bash:Shell脚本中的微妙差异

    在Unix和Linux的世界中,Shell是用户与操作系统交互的主要界面。Shell提供了命令行界面,使得用户能够执行各种命令和操作。在众多的Shell中,sh和bash是最常见且使用最广泛的两种。尽管它们在很多方面相似,但在功能、特性和语法上,它们之间仍存在一些微妙的差异。 一、起

    2024年04月15日
    浏览(51)
  • 【shell编程入门】stable diffusion webui的webui.sh脚本解析

    通过webui.sh,我们可以在linux系统下安装虚拟环境,并启动stable diffuson webui。 BASH_SOURCE[0] : 这是一个包含当前 Bash 脚本文件名的数组。 ${BASH_SOURCE[0]} 表示当前脚本的文件名。 dirname -- \\\"${BASH_SOURCE[0]}\\\" : dirname 命令用于获取文件路径的目录部分。这里它获取了 ${BASH_SOURCE[0]} 即当前

    2024年01月21日
    浏览(40)
  • Windows系统下如何运行.sh脚本文件

    前言: .sh文件是一种命令脚本文件,在Windows系统下可以通过命令行工具打开运行。通常可以使用Git工具来打开运行.sh脚本文件。不过很多第一次使用Git的人,可能对Git工具不熟悉。.sh文件在命令行运行时是有固定写法的,下面介绍详细步骤。 1.下载并安装Git 首先,建议先挂

    2024年02月11日
    浏览(38)
  • 【Git】Windows如何运行.sh脚本文件

    在Windows系统中运行.sh脚本需要借助第三方工具,比如Git Bash、Cygwin或WSL(Windows Subsystem for Linux)等。 以下是使用Git Bash运行.sh脚本的步骤: 安装Git Bash:从Git官方网站(https://git-scm.com/downloads)下载并安装Git。 打开Git Bash终端。 进入.sh脚本所在的目录,可以使用 cd 命令。 运

    2024年02月12日
    浏览(40)
  • RK android 9.0 添加sh脚本开机自动运行

    diff --git a/device.mk b/device.mk old mode 100644 new mode 100755 index 4c698b7..c635798 --- a/device.mk +++ b/device.mk @@ -126,6 +126,8 @@ PRODUCT_COPY_FILES +=      $(call add-to-product-copy-files-if-exists,device/rockchip/common/init.$(TARGET_BOARD_HARDWARE).bootmode.nvme.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(TARGET_BOARD_HARDWARE).bootm

    2024年02月08日
    浏览(81)
  • shell 脚本编写

    2023年04月09日
    浏览(32)
  • Linux shell脚本编写

    一、常用shell脚本指令 echo: 输出指定的文本或变量值到标准输出。 read: 从标准输入读取用户输入,并将其保存到指定的变量中。 if: 执行条件语句,如果满足指定条件则执行特定操作,否则执行其他操作。 for: 循环执行特定操作,每次迭代更新变量值。 while: 循环执行

    2024年02月16日
    浏览(50)
  • shell脚本简介+编写

    1、常用Linux命令 2、Linux下脚本编写 3、windows下CMD常用命令 1、系统预定义变量 常用系统变量 $HOME 、 $PWD 、 $SHELL 、 $USER 、 $PATH 等。 显示当前所有 Shell 变量: set 2、自定义变量 基本语法 定义变量:变量名=变量值 撤销变量:unset 变量名 声明静态变量:readonly变量,注意:不

    2024年02月02日
    浏览(39)
  • 简单shell脚本的编写

    shell脚本就是将命令写入文本中,文本可以被执行。 脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译) shell 既是应用程序,又是一种脚本语言(应用程序 解析 脚本语言)。 简单使用 $0 表示当前

    2024年02月10日
    浏览(40)
  • Shell脚本编程实践——第3关:使用Shell脚本创建文件目录

    任务描述 本关任务:设计一个Shell程序,在/home目录下建立一个userdata目录,在userdata目录下再建立5个目录,即user1~user5,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。 相关知识 为了完成

    2023年04月22日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包