隨機數
系統變量 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+