Linux shell腳本編程


shell腳本

shell為非類型的解釋型語言,即給變量賦值時就已為其定義。

#!/bin/bash  //環境說明
- chmod o+x 文件名  //命令行運行
  • /bin/bash 文件名 //同上作用

  • $變量名 //引用變量

  • $0 //當前程序的名稱(系統早先定義)

  • $n //第n個參數

  • $* //全部參數

  • $PWD //當前所在的目錄

  • -f //文件是否存在

  • -d //目錄是否存在

  • -s //檢查文件是否為空(比較成功時表示含有數據;通常在刪除文件時使用)

  • -nt;-ot //比較一個文件和另一個文件的新舊

  • -x;-w; //執行權限和寫入權限

  • -eq(等於)-ne(不等於)-lt(小於)-gt(大於)-le(小於等於)-o(或,單方面成立)-a(與,多方面成立)-z(空字符串)

  • (())[[]] //雙圓括號表示數學表達式,雙方括號表示高級字符串處理函數 //通常用於算術判斷或計算

  • if開頭 fi結尾 if ();then(if語句只執行返回值為成功返回(0)的命令 而跳過錯誤命令)(可以使用布爾邏輯來執行if [] || [];if [] && [])

  • elif

  • case命令:eg:
    case var in pattern1 | pattern2) command1;;
    pattern3) command2;;
    *) default command3;;
    esac

  • 括號中開頭和結尾要空格

  • while ();do
    done

  • for var in list
    do
    commands
    done

  • until語句 同while 但是相反 知道為0停止

  • C式for循環:eg:
    for(( i=1; i<10; i++ ))
    注意:變量的賦值可以包含空格;變量不以美元符號做前綴;迭代處理式中不含expr式

  • if和while后要空格

  • 反引號的內容當成命令來執行

  • date +%y%m%d //日期按年月日格式輸出

  • wc命令對數據中的文本計數,默認情況下生成三個值:文本行數,單詞數,字節數

  • 退出腳本時會返回一個0到255的整數值 可以使用$?來捕捉這個值 判斷腳本是否執行成功(返回0一般表示執行成功)(可以自己設置腳本退出的返回代碼在0到255之間的一個數;eg:exit 5;沒設置時 1為未知錯誤,2為誤用shell命令,126為用戶無權限執行該命令,127為沒有找到命令)

  • 可以通過暫時更改環境變量中的IFS變量來使腳本忽略字段分隔符(空格,制表,分隔)eg: IFS = $'/n'

重定向:

  • 輸入重定向:eg:command < inputfile (箭頭方向為數據流方向)
  • 內置輸入重定向:eg:
    $wc << EOF
    test.txt
    EOF
    (EOF為數據標記,開始和結尾處必須相同)
  • expr命令可以處理等式:eg
    $expr 1+5
    也可以使用$[1 + 5]
  • bc命令可以調用bash的計算器 需要離開時輸入quit(scale設置小數位大小 同時可以在腳本中使用bc命令 eg:
variable`echo "options;express | bc"`

bc中創建的變量只在計算器中有效,在shell腳本中無效


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM