Shell Studie-12Tag - Shell 实例

1 , Shell- Instanz

( 1) Drucken Sie die 99-Multiplikationstabelle

[root @ test shell] # vi für-1.sh  
#! / bin / bash 
für i in `seq 9` #variable   
i nimmt eine ganze Zahl zwischen 1-9 
do 
        für j in` seq $ i` #variable 
j Nehmen Sie eine Ganzzahl zwischen 1-1,1-2,1-3 ... 1-9 
        do 
        echo -n "$ i * $ j =` echo $ (($ i * $ j)) `" 
# nicht umbrechen Das Ergebnis der Multiplikation der Variablen i und der Variablen j 
        done 
        echo "" 
done ausgeben

( 2) Pingen Sie die gesamte Netzwerksegmentadresse an und geben Sie das Ergebnis in die angegebene Datei aus

[root @ test shell] # vi ping.sh  
#! / bin / bash 
für i in `seq 254` 
do 
        ping -c 3 192.168.0. $ i &> / dev / null 
  wenn [$? = 0]; dann 
        echo "192.168.0. $ i up" >> ping.txt 
  sonst 
        echo "192.168.0. $ i down" >> ping.txt 
  fi 
done

( 3) Echtzeitverkehr von bestimmten Netzwerkports abrufen

[root @ test shell] # vi liuliang.sh 
#! / bin / bash 
ethn = $ 1 
während true #Jede 
Zeit, während true ausgeführt wird, wird der Befehl true aufgerufen. 
#true wird verwendet, um logische Operationen mit anderen Befehlen auszuführen. Der Rückgabestatus ist immer erfolgreich, der Rückgabewert ist 0. 
do 
 RX_pre = $ (cat / proc / net / dev | grep $ ethn | sed's /: / / g '| awk' {print $ 2} ') 
 TX_pre = $ (cat / proc / net / dev | grep $ ethn | sed's /: / / g '| awk' (print $ 10} ') 
 sleep 1 
 RX_next = $ (cat / proc / net / dev | grep $ ethn | sed's /: / / g' | awk '{ print $ 2} ') 
 TX_next = $ (cat / proc / net / dev | grep $ ethn | sed's /: / / g' | awk '{print $ 10}') 
 
 clear 
 echo -e "\ t RX` date + % k:% M:% S` TX " 
 
 RX = $ (($ {RX_next} - $ {RX_pre})) 
 TX = $ (($ {TX_next} - $ {TX_pre})) 
 
 wenn [[$ RX -lt 1024]];
 elif [[$ RX -gt 1048576]]; dann 
 RX = $ (echo $ RX | awk '{print $ 1/1048576 "MB / s"}') 
 sonst 
 RX = $ (echo $ RX | awk '{print $ 1 / 1024 "KB / s"} ') 
 fi 
 
 wenn [[$ TX -lt 1024]]; dann 
 TX = "$ {TX} B / s" 
 elif [[$ TX -gt 1048576]]; dann 
 TX = $ (Echo $ TX | awk '{print $ 1/1048576 "MB / s"}') 
 else 
 TX = $ (echo $ TX | awk '{print 
 $ 1/1024 "KB / s"}') 
 fi echo -e "$ ethn \ t $ RX $ TX " 
erledigt 
[root @ test shell] # sh liuliang.sh eth0


Persönliche öffentliche Nummer:

image.png

Ich denke du magst

Origin blog.51cto.com/13440764/2575385
Empfohlen
Rangfolge