沈陽電腦維修網,沈陽上門維修電腦服務
當前位置: 主頁 > 程序數據代碼>shell腳本中的各種小技巧_程序數據_shell >

shell腳本中的各種小技巧_程序數據_shell

時間:2011-12-5來源:沈陽電腦維修網 作者: 呂先生:13889116605點擊:
沈陽電腦維修,上門維修電腦
     為了記錄在一個實際的會話期或多個會話期內運行的用戶腳本,可以加下面的代碼到每個你想追蹤記錄的腳本里.這會記錄下連續的腳本名記錄和調用的次數.  1#添加(>>)下面幾行到你想追蹤記錄的腳本末尾處.  2  3whoami>>$SAVE_FILE   #記錄調用腳本的用戶.  4echo$0>>$SAVE_FILE  #記錄腳本名.  5date>>$SAVE_FILE     #記錄日期和時間.  6echo>>$SAVE_FILE     #空行作為分隔行.  7  8# 當然,SAVE_FILE變量應在~/.bashrc中定義并導出(export)  9#+(變量值類似如~/.scripts-run)The>>操作符可以在文件尾添加內容.如果你想在文件頭添加內容,那應該怎么辦?  1file=data.txt  2title="***Thisisthetitlelineofdatatextfile***"  3  4echo$title|cat-$file>$file.new  5#"cat-"連接標準輸出的內容和$file的內容.  6# 最后的結果就是生成了一個新文件,  7#+文件的頭添加了$title的值,后跟$file的內容. 腳本也可以像內嵌到另一個shell腳本的普通命令一樣調用,如Tcl或wish腳本,甚至可以是Makefile.它們可以作為外部shell命令用C語言的system()函數調用,例如.,system("script_name");.把內嵌的sed或awk腳本的內容賦值給一個變量可以增加包裝腳本(shellwrapper)的可讀性.把你最喜歡和最有用的定義和函數放在一些文件中.當需要的使用的時候,在腳本中使用dot(.)或source命令來"包含(include)"這些"庫文件"的一個或多個.  1#腳本庫  2#-------------  3  4#注:  5#本文件沒有"#!"開頭.  6#也沒有真正做執行動作的代碼.  7  8  9#有用的變量定義 10 11ROOT_UID=0            #Root用戶的$UID值是0. 12E_NOTROOT=101         #非root用戶出錯代碼. 13MAXRETVAL=255         #函數最大的的返回值(正值). 14SUCCESS=0 15FAILURE=-1 16 17 18 19#函數 20 21Usage()              #"Usage:"信息(即幫助信息). 22{ 23  if[-z"$1"]      #沒有傳遞參數. 24  then 25    msg=filename 26  else 27    [email protected] 28  fi 29 30  echo"Usage:`basename$0`"$msg"" 31}  32 33 34Check_if_root()      #檢查是不是root在運行腳本. 35{                     #取自例子"ex39.sh". 36  if["$UID"-ne"$ROOT_UID"] 37  then 38    echo"Mustberoottorunthisscript." 39    exit$E_NOTROOT 40  fi 41}  42 43 44CreateTempfileName() #創建一個"唯一"的臨時文件. 45{                     #取自例子"ex51.sh". 46  prefix=temp 47  suffix=`evaldate+%s` 48  Tempfilename=$prefix.$suffix 49} 50 51 52isalpha2()           #測試字符串是不是都是字母組成的. 53{                     #取自例子"isalpha.sh". 54  [$#-eq1]||return$FAILURE 55 56  case$1in 57  *[!a-zA-Z]*|"")return$FAILURE;; 58  *)return$SUCCESS;; 59  esac                #Thanks,S.C. 60} 61 62 63abs()                          #絕對值. 64{                               #注意:最大的返回值=255. 65  E_ARGERR=-999999 66 67  if[-z"$1"]                #要傳遞參
上一篇:shell中的安全話題_程序數據_shell
下一篇:腳本優化_程序數據_shell
查看[shell腳本中的各種小技巧_程序數據_shell ]所有評論
發表評論
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
用戶名: 驗證碼:
推薦內容
關于我們 服務價格 聯系我們 企業網站優化 沈陽網站建設 沈陽維修電腦
福建31选7开奖号码走势图