天天看點

Linux學習筆記----初識Linux----shell程式設計shell腳本程式設計基礎

shell腳本程式設計基礎

  1. 變量的定義:

    直接定義 str=hello //等号兩端不能有空格

    雙引号定義 str=“hello”//保留特殊字元的含義

    單引号定義 str = ‘hello’ //去除特殊字元的含義

  2. 變量的引用

    小飄号定義str=

    date

    或則 str=$(date)

    echo hello >1.txt 輸出重定向(覆寫原内容)

    echo world >>1.txt 輸出重定向(不覆寫原内容,追加)

  3. 特殊變量

    $0 指令本身

    $1 2.... 2 .... 2....n //取指令行參數

    [email protected]//取所有的參數

    $? //判斷上一條指令是否執行成功,成功列印0 失敗列印非0

    $#//傳遞參數的個數

    顯示目前的程序号

  4. 環境變量

    env //顯示所有環境變量

    HOSTNAME:目前主機名

    SHELL:shell類型

    QTDIR:qt安裝路徑

    USER:目前使用者

    PATH:指定目前指令尋找路徑

export LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH(設定動态庫路徑,這樣就不用将動态庫複制到usr/lib裡了 LD_LIBRARY_PATH: 動态庫的查找路徑)

  1. 輸入輸出:read num//輸入num

    echo指令printf//輸出

  2. 計算表達式的四種方法

    var= $ ((1+2))

    var=$ 4[1+2]

    let var=1+2

    var=$(expr 1 + 2)

  3. test 條件表達式

    test 表達式1 = 表達式2 等号兩邊須有空格

    test string1 = string2

    [條件表達式] [ string1 = string2 ]

    條件表達式值為真傳回0,為假傳回非0

    echo $? 非0為假,0為真

  4. 判斷整數

    -gt:大于

    -ge:大于等于

    -eq:等于

    -le:小于等于

    -lt:小于

    -ne:不等于

    -a:兩個條件都有滿足 and

    -o:滿足一個條件即可 or

  5. 字元串比較

    [[ -z str ]] //長度為0 傳回0

    [[ str1 == str2 ]]//判斷是否相等

    [[ str1 != str2 ]]

  6. 檔案條件測試
    Linux學習筆記----初識Linux----shell程式設計shell腳本程式設計基礎
  7. if then else
    Linux學習筆記----初識Linux----shell程式設計shell腳本程式設計基礎
  8. case語句
    Linux學習筆記----初識Linux----shell程式設計shell腳本程式設計基礎
  9. for語句
    Linux學習筆記----初識Linux----shell程式設計shell腳本程式設計基礎
    Linux學習筆記----初識Linux----shell程式設計shell腳本程式設計基礎
  10. while語句
    Linux學習筆記----初識Linux----shell程式設計shell腳本程式設計基礎
  11. until語句
    Linux學習筆記----初識Linux----shell程式設計shell腳本程式設計基礎
  12. break continue
    Linux學習筆記----初識Linux----shell程式設計shell腳本程式設計基礎
  13. 數組&函數
  • 數組

    定義 1: a=(1 2 3 4 5)下标從 0 開始 各個資料之間用空格隔開

    定義 2: a[0]=1;a[1]=2;a[2]=3

    定義 3: a=([1]=1 [2]=2)

    引用

    取值: ${a[0]}

    ${a[@]} //取數組中所有的值

    ${#a[@]} //取數組的長度

    ${a[@]:2} //截取下标為2以後的所有元素

    ${a[@]:2:2} //截取下标為2以後的2個元素

  • 函數

    調用的時候直接寫函數名即可

    無傳回值 無參數 僅僅用來封裝代碼

    function_name()

    {}

繼續閱讀