除此之外,還準備了一些Shell腳本的編寫規范、入門手冊、編寫指南等資源,今天一并分享給大家。
由于腳本案例太多,在此僅展示部分,完整版領取方式請見文末
? 249個拿來即用的shell腳本!
這249個Shell腳本共147頁,目錄清楚,一鍵搜索定位,代碼清晰可復制,電子版可以隨時拿來練習提升,是學習、提升、面試必備精品。
#!/bin/bash
#?通過位置變量創建?Linux?系統賬戶及密碼
?
#$1?是執行腳本的第一個參數,$2?是執行腳本的第二個參數
useradd????"$1"?
echo?"$2"??|??passwd??‐‐stdin??"$1"#!/bin/bash
#?每周?5?使用?tar?命令備份/var/log?下的所有日志文件
#?vim??/root/logbak.sh
#?編寫備份腳本,備份后的文件名包含日期標簽,防止后面的備份將前面的備份數據覆蓋
#?注意?date?命令需要使用反引號括起來,反引號在鍵盤鍵上面
tar??-czf??log-`date?+%Y%m%d`.tar.gz??/var/log?
?
#?crontab?‐e??#編寫計劃任務,執行備份腳本
00??03??*??*??5??/root/logbak.sh#!/bin/bash
#?依次提示用戶輸入?3?個整數,腳本根據數字大小依次排序輸出?3?個數字
read?-p?"請輸入一個整數:"?num1
read?-p?"請輸入一個整數:"?num2
read?-p?"請輸入一個整數:"?num3
#?不管誰大誰小,最后都打印?echo?"$num1,$num2,$num3"
#?num1?中永遠存最小的值,num2?中永遠存中間值,num3?永遠存最大值
#?如果輸入的不是這樣的順序,則改變數的存儲順序,如:可以將?num1?和?num2?的值對調
tmp=0
#?如果?num1?大于?num2,就把?num1?和和?num2?的值對調,確保?num1?變量中存的是最小值
if?[?$num1?-gt?$num2?];then???
??tmp=$num1
??num1=$num2
??num2=$tmp
fi
#?如果?num1?大于?num3,就把?num1?和?num3?對調,確保?num1?變量中存的是最小值
if?[?$num1?-gt?$num3?];then???
????tmp=$num1
????num1=$num3
????num3=$tmp
fi
#?如果?num2?大于?num3,就把?num2?和?num3?對標,確保?num2?變量中存的是小一點的值
if?[?$num2?-gt?$num3?];then
????tmp=$num2
????num2=$num3
????num3=$tmp
fi
echo?"排序后數據(從小到大)為:$num1,$num2,$num3"#!/bin/bash
#?編寫一個點名器腳本
?
#?該腳本,需要提前準備一個?user.txt?文件
#?該文件中需要包含所有姓名的信息,一行一個姓名,腳本每次隨機顯示一個姓名
while?:
do
#統計?user?文件中有多少用戶
line=`cat?user.txt?|wc?‐l`
num=$[RANDOM%line+1]
sed?-n?"${num}p"??user.txt
sleep?0.2
clear
done#!/bin/bash
#?對?100?以內的所有正整數相加求和(1+2+3+4...+100)
?
#seq?100?可以快速自動生成?100?個整數
sum=0
for?i?in?`seq?100`
do
????sum=$[sum+i]
done
echo?"總和是:$sum"#!/bin/bash
#?統計當前?Linux?系統中可以登錄計算機的賬戶有多少個
#方法?1:
grep?"bash$"?/etc/passwd?|?wc?-l
#方法?2:
awk?-f:?'/bash$/{x++}end{print?x}'??/etc/passwd#!/bin/bash
#?打印各種時間格式?
?
echo?"顯示星期簡稱(如:Sun)"
date?+%a
echo?"顯示星期全稱(如:Sunday)"
date?+%A
echo?"顯示月份簡稱(如:Jan)"
date?+%b
echo?"顯示月份全稱(如:January)"
date?+%B
echo?"顯示數字月份(如:12)"
date?+%m
echo?"顯示數字日期(如:01?號)"
date?+%d
echo?"顯示數字年(如:01?號)"
date?+%Y?echo?"顯示年‐月‐日"
date?+%F
echo?"顯示小時(24?小時制)"
date?+%H
echo?"顯示分鐘(00..59)"
date?+%M
echo?"顯示秒"
date?+%S
echo?"顯示納秒"
date?+%N
echo?"組合顯示"
date?+"%Y%m%d?%H:%M:%S"更多內容展示
上下滾動查看更多,僅展示部分內容
Shell腳本是自動化運維的關鍵組成部分,雖然簡簡單單幾十行代碼,但可是蘊藏著巨大的能量和智慧,還是很值得運維朋友學習的。
所有資料已經打包好了,想要提升的同學請務必拿走學習!
資料整理自網絡,僅作免費交流分享,侵刪
? 領取方式如下:
掃描上方二維碼
備注【249個shell腳本】
即可100%免費領取