例子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行,我 覺得編輯肯...