Shell腳本學(xué)習(xí)

PART I --- Shell變量

  1. 變量類型:
    • 1)局部變量: 局部變量在腳本或命令中定義,僅在當(dāng)前shell實(shí)例中有效,其他shell啟動(dòng)的程序不能訪問(wèn)局部變量。
      2)環(huán)境變量: 所有的程序,包括shell啟動(dòng)的程序,都能訪問(wèn)環(huán)境變量,有些程序需要環(huán)境變量來(lái)保證其正常運(yùn)行。必要的時(shí)候shell腳本也可以定義環(huán)境變量。
      3)shell變量: shell變量是由shell程序設(shè)置的特殊變量。shell變量中有一部分是環(huán)境變量,有一部分是局部變量,這些變量保證了shell的正常運(yùn)行
  2. 變量相關(guān)操作:
  • 1)聲明變量: name = "ceshi"
    2)使用變量: $name 或者 ${name}
    1. 只讀變量: ceshi = "只讀變量" readonly ceshi
    2. 刪除變量: unset 變量名稱
  1. Shell 字符串:
  • 1)可以用單引號(hào)和雙引號(hào)聲明,也可以都不用
    2)獲取字符串的長(zhǎng)度:
      string="abcd"
      echo ${#string}       #輸出:  4
    
  • 3)提取子字符串: 從例子字符串第 2 個(gè)字符開始截取 4 個(gè)字符
str = "dhahdjadhja"
echo ${string:1:4}          #輸出:  hahd
  • 4)查找字符串: 查找字符 i 或 o 的位置(哪個(gè)字母先出現(xiàn)就計(jì)算哪個(gè))
string="runoob is a great site"
echo `expr index "$string" io`  # 輸出 4
  1. Shell 數(shù)組:
  • 1)定義數(shù)組: array = (val1 val2 val3 ... valn) or array_name=(
    value0
    value1
    value2
    value3
    )
    1. 讀取數(shù)組: valn = {array[n]}; 使用@符號(hào)讀取所有元素: echo{array_name[@]}
  1. Shell 運(yùn)算符:Shell 和其他編程語(yǔ)言一樣,支持多種運(yùn)算符,包括:
  • 算數(shù)運(yùn)算符
  • 關(guān)系運(yùn)算符
  • 布爾運(yùn)算符
  • 字符串運(yùn)算符
  • 文件測(cè)試運(yùn)算符

Attention:原生bash不支持簡(jiǎn)單的數(shù)學(xué)運(yùn)算,但是可以通過(guò)其他命令來(lái)實(shí)現(xiàn),例如 awk 和 expr,expr 最常用。expr 是一款表達(dá)式計(jì)算工具,使用它能完成表達(dá)式的求值操作

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容