Shell總結 3

隨機數

系統變量 RANDOM,默認產生0-32767的隨機整數
echo $RANDOM

數組

普通數組 :下標只能是整數
關聯數組:下表可以是字符串
array[索引下表]=值
array=(值1 值2 值3)
訪問 echo ${array[下標]}
echo ${array[]:0:3}
訪問全部 echo ${array[
]}
獲取個數 echo ${#array[*]}

關聯數組
定義:首先聲明
declare -A array
賦值
array[索引]=值
array=([name1]=值 [name2]=值 [name3]=值)
訪問
echo ${array[]}
訪問下標 echo ${!array[*]}

CASE

case語句 多重匹配語句
case var in //var變量名
pattern 1)
command
;;
pattern 2)
command2
;;
*)
command
;;
esac

函數

定義
1 :
函數名()
{
命令
}
2 :
function 函數名()
{
命令
}

標題
調用
在當前終端生效
加載一下 source **.sh
函數名

return

結束函數,返回一個命令狀態值 [0-256]

正則表達式

元字符
. 匹配單個字符
* 匹配前導字符出現0次或連續多次
.* 任意長度字符
^ 行首
$ 行尾
^$ 空行
[] 匹配括號裏任意單個字符或一組單個字符
[^] 匹配不包含括號裏任意單個字符或一組單個字符
1 匹配括號裏任意單個字符或一組單個字符開頭

< 取單詞頭
> 取單詞尾
< > 精確匹配
{n} 匹配前導字符連續出現n次
{n,} 匹配前導字符至少出現n次
( ) 保護被匹配的字符 :%s/(12)3/\14 將123修改爲124
\d 匹配數字 \D
\w 匹配字母數字下劃線 \W
\s 匹配空格製表符換頁符 \S

擴展正則
gerp 加參數 -E
sed 加參數 -r

  • 匹配一個或多個前導字符
    ? 匹配零個或一個前導字符
    | 或
    () 組字符
    {n}
    {n,}
    {n,m}

查詢IP地址
[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}
([0-9]{1,3}.){3}[0-9]{1,3} (-E)
\d+.\d+.\d+.\d+


  1. ↩︎

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