linux for迴圈指令碼例子01

2021-10-09 07:01:21 字數 1333 閱讀 9275

例子1:從命令讀取值

目的:在linux系統中建立多個普通使用者,使用者名稱來自user.txt

liming

zhangsan

lisi

wangwu

hulu

zhangji

jina

設計思路:遍尋file檔案中所有內容,並用useradd $var新增使用者名為變數值的普通使用者,並設定密碼

#!/bin/bash

file='user.txt'

for i in $(cat $file)

do useradd $i

echo "cgsl@123" | passwd --stdin $i

done

驗證:是否新增使用者成功:

cat /etc/passwd | cut -f1 -d ':' | tail -n 7
檢視系統配置使用者,並剪下第一列(使用者)字段,輸出後7行

-f, --fields=list

輸出 這些 字段 -f1輸出第乙個字段

-d, --delimiter=delim

使用 delim 取代 tab 做 字段(field) 分隔符 -d ':'以:作為分割字段

tail -n 7

-n, --lines=n

輸出最後n行,而非預設的最後10行

結論:已成功新增7個使用者至系統中

例子2:

刪除例子1中的新新增的7個使用者,使用者名稱檔案依然為user.txt,與指令碼檔案同路徑。

設計思路:遍尋user.txt中的變數值,使用userdel -r $username

**如下:

#! /bin/bash

user=$(cat user.txt)

for username in $user

do userdel -r $username

done

檢視結果 cat /etc/passwd | cut -f1 -d ':' | tail -n 7

[root@ecs robin]# cat /etc/passwd | cut -f1 -d ':' | tail -n 7

systemd-network

dbus

polkitd

postfix

sshd

chrony

tcpdump

可以看出user.txt中的使用者已被刪除掉

shell指令碼例子

1.主要用awk實現兩個檔案的處理 number 0 if f level number.date y m d then awk f nr fnr nr fnr level number.date y m d d 1 day level number.date y m d sort today ye...

AWK 指令碼例子

能夠到乙個類似與 data sandbox scanresult 0 1 41435 42458 2 result.xml 的路徑,在該檔案目錄下還有乙個以md5命名的檔案。需求是 根據xml 路徑得到md5 全部xml 檔案路徑儲存在 randomsample55000 20150105 vre....

027幾個指令碼例子

本章包含了我最常用的幾個指令碼。你會發現它們都相當短小而簡單。這就是指令碼的乙個優 點 它不是很長 很複雜,只需很短的 就能夠完成相當多的功能,可以節約大量的時間。本章中包含以下內容 各種指令碼的例子。我本來打算在本章中提供乙個通用的資料驗證資料庫指令碼,但是由於它超過了5 0 0行,我 覺得編輯肯...