示例一:
#!/bin/bash #Filename: welcome.sh #Welcome user login script #用戶登錄時候顯示歡迎內容,當前用戶登錄數量; #系統進程數、空餘的內存和Swap情況。 USER_NUM=`who | wc -l` PROCESS=`ps aux | wc -l` PROCESS_NUM=`expr $PROCESS - 1` FREE_MEM=`free | grep Mem | awk '{print $4}'` FREE_SWA=`free | grep Swap | awk '{print $4}'` echo "Welcome ${USER} to login to this server !" echo "Now Login Users : $USER_NUM" echo "System Process Num: $PROCESS_NUM" echo "System Free Memory: $FREE_MEM" echo "System Free Swawp : $FREE_SWA"
示例二:
[root@master script]# vim sumint.sh #!/bin/bash #FileName: sumint.sh #讓用戶輸入一個大於1的數值,然後求從1到該數值所有整數的和。 read -p "Please input a number (>1): " Num i=1 Sum=0 while [ $Num -gt $i ] do Sum=`expr $Sum + $i` i=`expr $i + 1` done echo "The sum of 1-$Num is :$Sum "
示例三:
#!/bin/bash #統計目錄佔用總空間大小,並將備份日期、目錄空間大小等信息保存在臨時文件"/tmp/dbinfo.txt"中, #然後使用tar命令將dbinfo.txt文件隨數據庫目錄一起備份到"/opt/dbbak/"目錄中,備份包文件要求體現當天的日期。 DAY=`date +%Y%m%d` SIZE=`du -sh /var/lib/mysql` echo "Date:$DAY" >> /tmp/dbinfo.txt echo "Data size:$SIZE" >> /tmp/dbinfo.txt tar zcvf /opt/dbbak/mysqlbak-${DAY}.tar.gz /var/lib/mysql /tmp/dbinfo.txt rm -f /tmp/dbinfo.txt
示例四:
#!/bin/bash #FileName:checkfile.sh #對於使用"/bin/bash"作爲登錄SHELL的用戶, #檢查他們在"/opt"目錄中擁有的子目錄或文件數量. DIR="/opt" LMT=100 ValidUsers=`grep "/bin/bash" /etc/passwd | cut -d ":" -f 1` for UserName in $ValidUsers do Num=`find $DIR -user $UserName | wc -l` if [ $Num -gt $LMT ]; then echo "$UserName have $Num files." fi done
示例五:
#!/bin/bash #FileName: batchAddUser.sh #批量添加用戶,用戶自定義前綴,後綴爲數字, #如果小於10,以(01、02。。。)這樣的方式添加;大於10,則不用前面加0 #添加個數由用戶自定義!初次登錄用戶必須修改密碼。 read -p "Please Input Your Want to add User's prefix Name: " AddName read -p "Please Input Your Want to Add User's Num: " AddNum i=1 while [ $i -le $AddNum ] do if [ $i -lt 10 ]; then username=${AddName}0${i} else username=${AddName}${i} fi #if done; useradd $username #set user's default password echo "123456" | passwd --stdin $username &> /dev/null #one time login, user mast change password! chage -d 0 $username let i++ done #for done; echo "All Ready Add $i User's ."
暫且這五個示例吧,希望對一些新學Shell的朋友有所幫助!
如果腳本中,大家覺得哪裏修改下就更好了,請評論告知,多多交流。