シェルスタディ-12日--shell

1 シェルインスタンス

1)99乗算表を印刷する

[root @ test shell] #vi for-1.sh  
#!/ bin / bash 
for i in `seq 9` #variable   
iは、
それぞれ1〜9の整数を取ります
do 
        for j in` seq $ i` #variable j 1-1,1-2,1-3 ... 1-9の間の整数乗り
        DO
        エコー-n "$ iの$ J =`エコー$(($私は$ jは*)) `*" 
#doないラップを変数を乗算した結果は、iと変数jの出力
        行わ
        エコー「」
行って

2)ネットワークセグメントアドレス全体にpingを実行し、指定したファイルに結果を出力します。

[root @ test shell] #vi ping.sh  
#!/ bin / bash 
for i in `seq 254` 
do 
        ping -c 3192.168.0 。$ i&> / dev / null 
  if [$?= 0]; 次に、
        echo "192.168.0。$ i up" >> ping.txt 
  else 
        echo "192.168.0。$ i down" >> ping.txt 
  fi 
done

3)指定されたネットワークポートのリアルタイムトラフィックを取得します

[root @ test shell] #vi liuliang.sh 
#!/ bin / bash 
ethn = $ 1 
while true #true
が実行されるたびに、trueコマンドが呼び出されます。
#trueは、他のコマンドで論理操作を実行するために使用されます。戻りステータスは常に成功です。戻り値は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}))
 
 if [[$ RX -lt 1024]];
 elif [[$ RX -gt 1048576]]; then 
 RX = $(echo $ RX | awk '{print $ 1/1048576 "MB / s"}')
 else 
 RX = $(echo $ RX | awk '{print $ 1 / 1024 "KB / s"} ')
 fi 
 
 if [[$ TX -lt 1024]]; then 
 TX = "$ {TX} B / s" 
 elif [[$ TX -gt 1048576]]; then 
 TX = $(echo $ TX | awk '{print $ 1/1048576 "MB / s"}')
 else 
 TX = $(echo $ TX | awk '{print 
 $ 1/104 "KB / s"}')
 fi echo -e "$ ethn \ t $ RX $ TX " 
done 
[root @ test shell] #sh liuliang.sh eth0


個人公開番号:

image.png

おすすめ

転載: blog.51cto.com/13440764/2575385
おすすめ