熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 游戲開發 >> 正文

linux Shell學習筆記最後一節,溫故與知新

2022-06-13   來源: 游戲開發 

  

  腳本編寫技巧

  腳本文件名命名規則

  文件名的字符包括

  字母數字_ 注意腳本的文件名命名不能以數字開頭

  腳本文件名的命名盡量使用英文單詞詞組或短句的縮寫

  腳本版本管理

  腳本作用主版本號修改次數shell類型

  變量命名規范

  變量名可以由數字和字母組成

  變量名采用全部英文字符小寫的方式

  變量名稱盡量使用縮寫最好不要超過個字符

  ${變量名} 例${port}${ipaddr}…

  腳本代碼注釋規范

  腳本代碼注釋可以使用#;(分號)兩種方式進行注釋#一般由於描述性的注釋旨在說明代碼的作用或怎麼使用

  而;通常用於示例性的注釋特別是在一些配置文件中常常會用到因此我們沿用這兩種方式來對我們的腳本進行注釋

  引用符號使用規范

  盡量少用單引號

  對極個特殊字符進行屏蔽特殊含義時使用\(反斜線)進行屏蔽

  使用帶引號進行屏蔽字符時單引號內一般不適用其他引用符號除非是打印特殊符號本身

  使用反引號進行執行一個shell命令時反引號內一般加其他引用符號

  腳本函數定義規范

  變量名可以由數字和字母組成

  使用駝峰命名法(從第二個單詞開始每個單詞首字母大寫)

  名字盡量不使用縮寫除非它是眾所周知的

  名字可以有兩個或三個單詞組成但通常不應多於三個

  文本輸出排版

  第一天課後作業

  grep texttxt                            取出這一天的數據

  grep texttxt                            取出這一個月的數據

  grep texttxt | grep v                     取出一個月的上漲數據

  grep texttxt | grep v | wc l            列出有幾天是上漲個數帶統計

  grep texttxt | sort k n | tail             判斷上漲然後tail取最後一行

  grep texttxt | sort k r |head             判斷上漲然後head取第一行

  grep texttxt | awk {if($>){print $$}}    取出一月中上漲數據時間和上漲幅

  grep texttxt | awk {if($> && $<){print $}}        判斷區間取出整行

  腳本代碼實例分析

  編寫一個shell腳本執行腳本後自動ping以下地址

  

  以上IP地址直接寫在腳本之中執行完成後

  應顯示能夠ping通的IP地址和不能夠ping通的IP地址

  #!/bin/bash

  if ping c

  then

  echo online

  else

  echo offline

  fi

  if ping c

  then

  echo online

  else

  echo offline

  腳本代碼實例分析

  修改分析但是從iplisttxt中讀取IP

  #!/bin/bash

  for ip in `cat iplisttxt`

  do

  if ping $ip c

  then

  echo ${ip} online

  else

  echo ${ip} offline

  fi

  done

  腳本代碼實例分析

  修改分析去除無用的信息

  #!/bin/bash

  for ip in `cat iplisttxt`

  do

  if ping $ip c >/dev/null >&

  then

  echo ${ip} online

  else

  echo ${ip} offline

  fi

  done

  腳本代碼實例分析

  修改分析生成記錄

  #!/bin/bash

  >hoststatustxt

  for ip in `cat iplisttxt`

  do

  if ping $ip c >/dev/null >&

  then

  echo ${ip} online |tee a hoststatustxt

  else

  echo ${ip} offline |tee a hoststatustxt

  fi

  done

  腳本代碼實例分析

  產生一個IP地址池生成個IP並修改分析實現多線程ping

  #!/bin/bash

  >iplist

  for ip in `seq `

  do

  echo ${ip} >>iplist

  done

  #!/bin/bash

  >hoststatustxt

  >temp

  fastping()

  {

  if ping ${} c >/dev/null >&

  then

  echo ${ip} online |tee a temp

  else

  echo ${ip} offline |tee a temp

  fi

  }

  for ip in `cat iplisttxt`

  do

  fastping $ip &

  done

  wait

  sort t k n temp >hoststatustxt

  rm temp

  temp /pingsh            測試一個腳本執行多久


From:http://tw.wingwit.com/Article/program/yxkf/201404/30424.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.