自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux腳本學(xué)習(xí)必經(jīng)之路:Shell腳本實例分享

系統(tǒng) Linux
寫shell腳本還是一樣,思路第一,語法其次,下面分享幾個腳本實例,大家主要是理解一下里面的思路,語法稍微注意一下。

寫shell腳本還是一樣,思路第一,語法其次,下面分享幾個腳本實例,大家主要是理解一下里面的思路,語法稍微注意一下。

1. 觀察數(shù)字,輸出包含前6個數(shù)字在內(nèi)的16個數(shù)字

觀察以下數(shù)字,看有什么規(guī)律:

  1. 10 31 53 77 105 141 

這里數(shù)字的規(guī)律在于兩個數(shù)字的差值的差值是2的冪次方

那么怎么用shell腳本實現(xiàn)需求呢?

  1. #!/bin/bash 
  2. ############################################### 
  3. #10 31 53 77 105 141 
  4. #觀察數(shù)字,輸出包含前6個數(shù)字在內(nèi)的16個數(shù)字 
  5. #數(shù)字的規(guī)律在于兩個數(shù)字的差值的差值是2的冪次方 
  6. ############################################### 
  7. a=10 
  8. b=21 
  9. echo $a 
  10. for i in `seq 0 13` 
  11. do 
  12.  #2的$i次冪 
  13.     c=$[2**$i] 
  14.  a=$[$a+$b] 
  15.  b=$[$b+$c] 
  16.  echo $a 
  17. done 
  18. a=$[$a+$b] 
  19. echo $a 

Linux腳本學(xué)習(xí)必經(jīng)之路---shell腳本實例分享

輸出結(jié)果:

Linux腳本學(xué)習(xí)必經(jīng)之路---shell腳本實例分享

2. 查看Linux系統(tǒng)中是否存在自定義用戶,并統(tǒng)計自定義用戶數(shù)量

  1. #!/bin/bash 
  2. ########################################################## 
  3. #查看Linux系統(tǒng)中是否存在自定義用戶,并統(tǒng)計自定義用戶數(shù)量 
  4. #截取/etc/passwd文件中第三段的數(shù)字,大于1000者即為自定義用戶 
  5. ########################################################## 
  6. n=`awk -F ':' '$3>1000' /etc/passwd|wc -l` 
  7. if [ $n -gt 0 ] 
  8.  then 
  9.  echo "there are $n custom users" 
  10.  else 
  11.  echo "no custom user" 
  12. fi 

結(jié)果輸出:

Linux腳本學(xué)習(xí)必經(jīng)之路---shell腳本實例分享

3. 監(jiān)控磁盤分區(qū)以及inode使用率并告警

  1. #!/bin/bash 
  2. ################################################################ 
  3. #監(jiān)控所有磁盤分區(qū)以及inode使用率,當(dāng)某個分區(qū)容量或inode使用量大于85%時,發(fā)送郵件告警 
  4. ################################################################ 
  5. #將系統(tǒng)語言設(shè)置為英文,如果是中文則會產(chǎn)生bug 
  6. LANG=en 
  7. log=/tmp/`date +%F.log` 
  8. tag1=0 
  9. tag2=0 
  10. df -h >> $log 
  11. df -i >> $log 
  12. #遍歷各個磁盤利用率的數(shù)值 
  13. for h in `df -h|grep -v 'Use'|awk -F ' +|%' '{print $5}'` 
  14. do 
  15.  if [ $h -gt 85 ] 
  16.  then  
  17.  $tag1=1 
  18.  fi 
  19. done 
  20. #遍歷各個磁盤inode的數(shù)值 
  21. for i in `df -i|grep -v 'Use'|awk -F ' +|%' '{print $5}'` 
  22. do 
  23.  if [ $i -gt 85 ] 
  24.  then 
  25.  $tag2=1 
  26.  fi 
  27. done 
  28. #磁盤空間以及inode都沒有問題,tag=0 
  29. if [ $tag1 -eq 0 ] && [ $tag2 -eq 0 ] 
  30.  then  
  31.  tag=0 
  32. fi 
  33. #磁盤空間有問題,inode沒有問題,tag=1 
  34. if [ $tag1 -eq 1 ] && [ $tag2 -eq 0 ] 
  35.  then 
  36.  tag=1 
  37. fi 
  38. #磁盤空間沒有問題,inode有問題,tag=2 
  39. if [ $tag1 -eq 0 ] && [ $tag2 -eq 1 ] 
  40.  then 
  41.  tag=2 
  42. fi 
  43. #磁盤空間以及inode都有問題,tag=3 
  44. if [ $tag1 -eq 1 ] && [ $tag2 -eq 1 ] 
  45.  then 
  46.  tag=3 
  47. fi 
  48. #根據(jù)不同的tag數(shù)值,最終輸出不同的結(jié)果 
  49. case $tag in 
  50.  0) 
  51.  echo "no problem." 
  52.  ##mail.py 
  53.  ;; 
  54.  1) 
  55.  echo "disk space is not enough." 
  56.  ##mail.py  
  57.  ;; 
  58.  2) 
  59.  echo "disk inode is not enough." 
  60.  ##mail.py 
  61.  ;; 
  62.  3) 
  63.  echo "disk space and disk inode are not enough." 
  64.  ##mail.py 
  65.  ;; 
  66. esac 

Linux腳本學(xué)習(xí)必經(jīng)之路---shell腳本實例分享

Linux腳本學(xué)習(xí)必經(jīng)之路---shell腳本實例分享

輸出結(jié)果:

Linux腳本學(xué)習(xí)必經(jīng)之路---shell腳本實例分享

4. 監(jiān)測目標(biāo)目錄的文件生成情況

需求:用腳本每隔5分鐘監(jiān)測目標(biāo)目錄是否有新文件生成,若有新文件生成,則將新文件的列表輸出到一個按年、月、日、時、分為名字的日志里。

實現(xiàn):

  1. #!/bin/bash 
  2. ################################################################## 
  3. #用腳本每隔5分鐘監(jiān)測目標(biāo)目錄是否有新文件生成,若有新文件生成,則將新文件 
  4. #列表輸出到一個按年、月、日、時、分為名字的日志里 
  5. ################################################################## 
  6. a=`date -d "-5 min" +%Y-%m-%d-%H-%M` 
  7. logfile=/tmp/$a.log 
  8. basedir=/home 
  9. #查找修改時間少于5分鐘的文件,并將列表記錄在臨時文件中 
  10. find $basedir/ -type f -mmin -5 > /tmp/test.txt 
  11. n=`cat /tmp/test.txt|wc -l` 
  12. if [ $n -gt 0 ] 
  13.  then  
  14.  mv /tmp/test.txt $logfile 
  15. fi 

Linux腳本學(xué)習(xí)必經(jīng)之路---shell腳本實例分享

Linux腳本學(xué)習(xí)必經(jīng)之路---shell腳本實例分享

5. 查看常用命令,并列出TOP10

  1. #!/bin/bash 
  2. #################################### 
  3. #對歷史命令排序|查重|倒敘排列|取前10行 
  4. #################################### 
  5. sort /root/.bash_history|uniq -c|sort -nr|head 

Linux腳本學(xué)習(xí)必經(jīng)之路---shell腳本實例分享

輸出:

Linux腳本學(xué)習(xí)必經(jīng)之路---shell腳本實例分享

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2019-08-09 13:50:08

shellLinux

2018-02-06 09:58:48

架構(gòu)師MVCiOS

2017-03-21 13:00:05

網(wǎng)絡(luò)融合光網(wǎng)絡(luò)通信網(wǎng)絡(luò)

2010-11-03 10:12:58

信息安全服務(wù)必經(jīng)之路

2017-09-18 17:00:04

云深度學(xué)習(xí)機器學(xué)習(xí)云服務(wù)

2015-10-13 13:54:16

2019-07-29 08:07:57

工業(yè)互聯(lián)網(wǎng)互聯(lián)網(wǎng)平臺IIOT

2019-08-13 11:53:01

腳本語言AWKBash

2019-08-14 08:03:49

LinuxShell腳本web服務(wù)

2019-10-31 08:22:39

shell腳本Linux

2024-11-27 09:19:25

2010-03-05 11:58:52

2010-03-05 13:09:23

Linux shell

2010-03-05 11:18:52

Linux shell

2010-03-05 13:00:46

2010-03-05 13:19:23

2010-03-05 12:50:38

Linux shell

2010-03-05 10:24:33

2010-03-05 10:50:17

2018-08-22 16:35:31

存儲
點贊
收藏

51CTO技術(shù)棧公眾號