bash筆記(2)

正文

關於變量

上一篇已經講過變量但是很簡單,這裏要詳細介紹,

hello="hello world"
echo $hello
echo ${hello}
hello=hello="A B C D"
echo $hello # ABCD
echo "$hello" # A B C D
echo '$hello' # $hello
a=`ls -l` # 把ls -l 的結果給a
R=$(cat /ect/redhat-release) #效果同上

{}標記法是一種很好的使用位置參數的方法.這也需要間接引用
args=$# # 位置參數的個數
lastarg=${!args}
# 或: lastarg=${!#}
# 注意 lastarg=${!$#} 將報錯
  1. parameter+altvalue, {parameter:+alt_value}
    如果 parameter 被set 了,那就使用alt_value,否則就使用null 字符串.
    這兩種辦法絕大多數時候用法都一樣,只有在$parameter 被聲明並設置爲空的時候,
  2. parameter=default, {parameter:=default}
    如果 parameter 未設置,那麼就設置爲default.
  3. parameterdefault, {parameter:-default}
    如果 parameter 沒被set,那麼就使用default..

declare/typeset 這是可以設置類型的,
需要解引用,

關於判斷

一般我們對於標準的語言都是用括號判斷內容知道真假,但是這種語言用的內建命令實現的,標記是[]或者[[]],當然我們可以用·
((...)))或者let命令的得到返回碼。
這個東西挺複雜,這裏暫時省略,以後在補充,

關於正則表達式

這個東西在看代碼的時候,簡直想砸電腦,這裏實在不知道如何寫,找到一些基礎知識,這裏稍微整理,有機會在補充,

  1. 星號 – * – 匹配前一個字符的任意多次(包括零次).
  2. 點 – . – 匹配除了新行符之外的任意一個字符.
  3. 脫字符 – ^ – 匹配一行的開頭,但依賴於上下文環境,可能在正則表達式中表示否定
  4. 美元符 – – 在正則表達式中匹配行尾.  
    “^
    ” 匹配空行.
  5. 方括號 – […] – 在正則表達式中表示匹配括號中的一個字符.
    “[xyz]” 匹配字符x, y, 或z.
    “[c-n]” 匹配從字符c 到n 之間的任意一個字符.
  6. 豎線 – | – “或”正則操作符用於匹配一組可選的字符.

這是很複雜,暫時不解釋,

後記

這裏省略很多知識,但是這裏僅僅是一個筆記,這裏以後有機會回頭整理出一個比較有條理的內容,這裏暫時就這樣。畢竟這種東西用的比較少。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章