您好,登錄后才能下訂單哦!
5.1 函數
格式:
func() { command }
示例1:
#!/bin/bash func() { echo "This is a function." } func # bash test.sh This is a function.
Shell函數很簡單,函數名后跟雙括號,再跟雙大括號。通過函數名直接調用,不加小括號。
示例2:函數返回值
#!/bin/bash func() { VAR=$((1+1)) return $VAR echo "This is a function." } func echo $? # bash test.sh 2
return在函數中是定義狀態返回值,返回并終止函數,但返回的只能是數字,類似于exit 0。
示例3:函數傳參
#!/bin/bash func() { echo "Hello $1" } func world # bash test.sh Hello world
通過Shell位置參數給函數傳參。
博客地址:http://lizhenliang.blog.51cto.com
QQ群:Shell/Python運維開發群 323779636
5.2 數組
數組是相同類型的元素按一定順序排列的集合。
格式:
array=(元素1 元素2 元素3 ...)
用小括號初始化數組,元素之間用空格分隔。
定義方法1:初始化數組 array=(a b c) 定義方法2:新建數組并添加元素 array[下標]=元素 定義方法3:將命令輸出作為數組元素 array=($(command))
數組操作:
獲取所有元素 # echo ${array[*]} # *和@ 都是代表所有元素 a b c 獲取數組長度 # echo ${#array[*]} 3 獲取第一個元素 # echo ${array[0]} a 獲取第二個元素 # echo ${array[1]} b 獲取第三個元素 # echo ${array[2]} c 添加元素 # array[3]=d # echo ${array[*]} a b c d 添加多個元素 # array+=(e f g) # echo ${array[*]} a b c d e f g 刪除a元素 # unset array[a] # 用名字刪除會保留元素下標 # echo ${array[*]} b c d e f g 刪除第一個元素 # unset array[1] # echo ${array[*]} c d e f g
數組下標是以0開始。
示例1:講seq生成的數字序列循環放到數組里面
#!/bin/bash for i in $(seq 1 10); do array[a]=$i let a++ done echo ${array[*]} # bash test.sh 1 2 3 4 5 6 7 8 9 10 刪除數組 # unset array
示例2:遍歷數組元素
#!/bin/bash IP=(192.168.1.1 192.168.1.2 192.168.1.3) for ((i=0;i<${#IP[*]};i++)); do echo ${IP[$i]} done # bash test.sh 192.168.1.1 192.168.1.2 192.168.1.3
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。