[LINUX操作系統]shell腳本之循環

?1.編寫腳本for1.sh,使用for循環創建20賬戶,賬戶名前綴由用戶從鍵盤輸入,賬戶初始密碼由用戶輸入,例如:test1、test2、test3......

[root@master ~]# vim for1.sh
#!/bin/bashread -p "請輸入賬戶名稱前綴:" prefixread -p "請輸入賬戶密碼:"  -s passwdfor ((i=1;i<=20;i++))
douser=$prefix$iif id -u $user &> /dev/nullthenecho "$user 已經存在!"elseuseradd $userecho "$passwd" | passwd --stdin  $user  &> /dev/nullecho "$user 賬戶創建成功!"fi
done
[root@master ~]# bash for1.sh 
請輸入賬戶名稱前綴:test
請輸入賬戶密碼:
[root@master ~]# tail -20 /etc/passwd

2.編寫腳本for2.sh,使用for循環,通過ping命令測試網段的主機連通性,IP前3段由用戶輸入,如:輸入192.168.171 ,則ping 192.168.171.125-192.168.171.135,將可以ping通的主機IP地址寫入到 /tmp/host_up.txt文件中,不能ping通的主機IP地址寫入到:/tmp/host_down.txt文件中

[root@master ~]# vim for2.sh
#!/bin/bashread -p "請輸入網絡位:" ipfor ((i=125;i<=135;i++))
doIP=$ip.$iecho "測試ip:$IP"if ping -c 2  -w  3  $IP  &> /dev/nullthenecho "$IP is up"  >> /tmp/host_up.txtelseecho "$IP is down" >> /tmp/host_down.txtfi
done
[root@master ~]# bash for2.sh 
[root@master ~]# cat /tmp/host_up.txt 
[root@master ~]# cat /tmp/host_down.txt 


3.使用for循環實現批量主機root密碼的修改

(1)打開多臺主機

(2)使用ssh-keygen命令建立密鑰對

(3)多臺主機間通過ssh-copy-id進行免密登錄

(4)編寫腳本for3.sh,通過for循環登錄主機修改對方root賬戶密碼

[root@master ~]# vim ip.txt
192.168.171.134
[root@master ~]# ssh-keygen -t rsa
[root@master ~]# ssh-copy-id 192.168.171.134
[root@master ~]# vim for3.sh
#!/bin/bashread -p "please input your passwd:" passwdfor i in `cat ip.txt`
dossh $i  "echo $passwd | passwd --stdin root"
done
[root@master ~]# bash for3.sh
please input your passwd:123測試:
ssh root@192.168.171.134
passwd:123

測試是否登錄成功:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/91952.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/91952.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/91952.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

空間設計:不是餐廳的裝飾游戲

餐廳空間設計&#xff0c;是通過布局規劃與環境營造&#xff0c;將功能需求、品牌調性與顧客體驗融合的系統性工程 —— 它不僅決定顧客「坐得舒不舒服」&#xff0c;更影響「愿不愿意再來」「會不會主動分享」的消費決策。體驗感知的第一觸點&#xff1a;顧客進門 3 秒內&…

XSS-DOM 2

目錄 1 DOMPurify 1.1 漏洞源碼 1.2 加載框架 ?編輯 setTimeout 1.3 ok&#xff1f; 1.4 window和document 1.5 Overwrite&#xff08;document.x&#xff09; 1.5.1 打印cookie 1.6 Overwrite2&#xff08;document.x.y&#xff09; 1.6.1 form表單 1.7 toString…

從數據丟失到動畫流暢:React狀態同步與遠程數據加載全解析

在前端開發中&#xff0c;數據狀態管理與界面同步始終是核心挑戰。近期我在處理一個書簽管理應用時&#xff0c;遇到了遠程數據加載后無法顯示、界面更新異常&#xff0c;甚至動畫閃爍等一系列問題。經過多輪調試與優化&#xff0c;最終實現了數據的正確加載與流暢的界面交互。…

MySQL半同步復制機制詳解:AFTER_SYNC vs AFTER_COMMIT 的優劣與選擇

目錄深入分析與利弊對比1. AFTER_COMMIT (不推薦)2. AFTER_SYNC (強烈推薦&#xff0c;MySQL 8.0 默認)總結與強烈建議最佳實踐 MySQL 半同步復制主要有兩種實現方式&#xff0c;其核心區別在于主庫何時回復客戶端事務提交成功&#xff08;即何時認為事務完成&#xff09;&…

GEE實戰 | 4種非監督分類算法深度解析,附可直接運行的完整代碼

在遙感影像處理領域&#xff0c;非監督分類憑借其無需人工標注樣本的優勢&#xff0c;成為快速了解地物分布的得力助手。它能自動依據像素光譜特征的相似性完成聚類&#xff0c;這種“無師自通”的特性&#xff0c;讓地理空間分析變得更加高效。 今天&#xff0c;我們就來深入…

基于落霞歸雁思維框架的軟件需求管理實踐指南

作者&#xff1a;落霞歸雁 日期&#xff1a;2025-08-02 摘要 在 VUCA 時代&#xff0c;需求變更成本已占軟件總成本的 40% 以上。本文將“落霞歸雁”思維框架&#xff08;觀察現象 → 找規律 → 應用規律 → 實踐驗證&#xff09;引入需求工程全生命周期&#xff0c;通過 4 個階…

企業級AI Agent構建實踐:從理論到落地的完整指南

&#x1f680; 引言 隨著人工智能技術的快速發展&#xff0c;AI應用正在從簡單的工具轉變為智能伙伴。企業級AI Agent作為這一變革的核心載體&#xff0c;正在重新定義我們與軟件系統的交互方式。本文將深入探討如何構建一個真正意義上的企業級AI Agent系統。 &#x1f3af; …

電商項目_性能優化_限流-降級-熔斷

針對電商系統&#xff0c;在遇到大流量時&#xff0c;必須要考慮如何保障系統的穩定運行&#xff0c;常用的手段&#xff1a;限流&#xff0c;降級&#xff0c;拒絕服務。 一、限流 限流算法&#xff1a;計數器、滑動窗口、漏銅算法、令牌桶算法。 限流的方案 前端限流接入…

javaweb開發之Servlet筆記

第五章 Servlet 一 Servlet簡介 1.1 動態資源和靜態資源 靜態資源 無需在程序運行時通過代碼運行生成的資源,在程序運行之前就寫好的資源. 例如:html css js img ,音頻文件和視頻文件 動態資源 需要在程序運行時通過代碼運行生成的資源,在程序運行之前無法確定的數據,運行時…

sqli-labs靶場less26/a

less261.我們打開這一關來看一下&#xff0c;他提示我們空格和其他一些什么都被過濾了2.我們來嘗試繞過,按照之前的做法&#xff0c;可以看到閉合方式為單引號&#xff0c;并且過濾了--與#3.我們來嘗試繞過一下&#xff0c;發現可以以下的方式繞過&#xff0c;空格用&#xff0…

從Docker銜接到導入黑馬商城以及前端登錄顯示用戶或密碼錯誤的相關總結(個人理解,僅供參考)

目錄 一、前言 二、從Docker銜接到導入黑馬點評 三、談談端口映射及我的前端登錄顯示用戶或密碼錯誤 四、總結 一、前言 在學習24黑馬SpringCloud課程時&#xff0c;說實話Docker那一塊再到導入黑馬商城是真的有點折磨&#xff0c;個人感覺老師水平還是很強的&#xff0c;但…

控制建模matlab練習10:滯后補償器

此練習主要是&#xff1a;關于滯后補償器。 ①滯后補償器作用&#xff1b; ②不同滯后補償器的效果&#xff1b; 一、為什么使用滯后補償器 滯后補償器&#xff1a;主要用于改善系統的穩態誤差&#xff1b;滯后補償器設計思路&#xff1a;同時為系統增加一個極點和零點&#xf…

力扣-108.將有序數組轉換為二叉搜索樹

題目鏈接 108.將有序數組轉換為二叉搜索樹 class Solution {public TreeNode Traverse(int[] nums, int begin, int end) {if (end < begin)return null;int mid (begin end) / 2;TreeNode root new TreeNode(nums[mid]);root.left Traverse(nums, begin, mid - 1);ro…

`npm error code CERT_HAS_EXPIRED‘ 問題

問題: npm error code CERT_HAS_EXPIRED npm error errno CERT_HAS_EXPIRED npm error request to https://r2.cnpmjs.org/string_decoder/-/string_decoder-1.3.0.tgz failed, reason: certificate has expired npm error A complete log of this run can be found in: /home…

數據結構---概念、數據與數據之間的關系(邏輯結構、物理結構)、基本功能、數據結構內容、單向鏈表(概念、對象、應用)

數據結構在數據結構部分&#xff0c;研究數據在內存中如何存儲。數據存儲的形式有兩種&#xff1a;變量和數組&#xff08;數據結構的順序表&#xff09;。一、什么是數據結構&#xff1f;數據類型被用來組織和存儲數據。程序設計 數據結構 算法二、數據與數據之間的關系1、邏…

CMS框架漏洞

一、WordPress姿勢一1.下載vulhub靶場cd /vulhub/wordpress/pwnscriptum docker-compose up -d2.我們進入后臺&#xff0c;網址拼接/wp-admin/3.我們進入WP的模板寫入一句話木馬后門并訪問其文件即可GetShell4然后我們拼接以下路徑/wp-content/themes/twentyfifteen/404.php&am…

控制建模matlab練習07:比例積分控制-③PI控制器的應用

此練習主要是比例積分控制&#xff0c;包括三部分&#xff1a; ①系統建模&#xff1b; ②PI控制器&#xff1b; ③PI控制器的應用&#xff1b; 以下是&#xff0c;第③部分&#xff1a;PI控制器的應用。 一、比例積分控制的應用模型 1、整個系統是如圖&#xff0c;這樣一個單位…

【MySQL】MySQL 中的數據排序是怎么實現的?

MySQL 數據排序實現機制詳解 MySQL 中的數據排序主要通過 ORDER BY 子句實現&#xff0c;其內部實現涉及多個優化技術和算法選擇。讓我們深入探討 MySQL 排序的完整實現機制。 一、排序基礎&#xff1a;ORDER BY 子句 基本語法&#xff1a; SELECT columns FROM table [WHERE c…

JVM-垃圾回收器與內存分配策略詳解

1.如何判斷對象已死1.1 對象引用的4種類型&#xff08;強軟弱虛&#xff09;1.1.1 強引用特點&#xff1a;最常見的引用類型&#xff0c;只要強引用存在&#xff0c;對象絕不會被回收Object strongObj new Object(); // 強引用注意&#xff1a;集合類型&#xff0c;如果對象不…

新手向:簡易Flask/Django個人博客

從零開始搭建個人博客:Flask與Django雙版本指南 本文將詳細講解如何使用兩種主流Python框架構建功能完整的個人博客系統。我們將從零開始,分別使用輕量級的Flask框架和功能全面的Django框架實現以下核心功能: 用戶認證系統: 用戶注冊/登錄/注銷功能 密碼加密存儲 會話管理…