溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

第五章 Shell函數(shù)與數(shù)組

發(fā)布時間:2020-07-15 09:38:12 來源:網(wǎng)絡(luò) 閱讀:3398 作者:李振良OK 欄目:開發(fā)技術(shù)

5.1 函數(shù)

格式:

func() {
    command
}

示例1:

#!/bin/bash
func() {
    echo "This is a function."
}
func
# bash test.sh
This is a function.

Shell函數(shù)很簡單,函數(shù)名后跟雙括號,再跟雙大括號。通過函數(shù)名直接調(diào)用,不加小括號。

示例2:函數(shù)返回值

#!/bin/bash
func() {
    VAR=$((1+1))
    return $VAR
    echo "This is a function."
}
func
echo $?
# bash test.sh
2

return在函數(shù)中是定義狀態(tài)返回值,返回并終止函數(shù),但返回的只能是數(shù)字,類似于exit 0。

示例3:函數(shù)傳參

#!/bin/bash
func() {
    echo "Hello $1"
}
func world
# bash test.sh
Hello world

通過Shell位置參數(shù)給函數(shù)傳參。


博客地址:http://lizhenliang.blog.51cto.com

QQ群:Shell/Python運維開發(fā)群 323779636


5.2 數(shù)組

數(shù)組是相同類型的元素按一定順序排列的集合。

格式:

array=(元素1 元素2 元素3 ...)

用小括號初始化數(shù)組,元素之間用空格分隔。

定義方法1:初始化數(shù)組
array=(a b c)
定義方法2:新建數(shù)組并添加元素
array[下標(biāo)]=元素
定義方法3:將命令輸出作為數(shù)組元素
array=($(command))

數(shù)組操作:

獲取所有元素
# echo ${array[*]}  # *和@ 都是代表所有元素
a b c
獲取數(shù)組長度
# 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]  # 用名字刪除會保留元素下標(biāo)
# echo ${array[*]}
b c d e f g
刪除第一個元素
# unset array[1] 
# echo ${array[*]}
c d e f g

數(shù)組下標(biāo)是以0開始。

示例1:講seq生成的數(shù)字序列循環(huán)放到數(shù)組里面

#!/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
刪除數(shù)組
# unset array

示例2:遍歷數(shù)組元素

#!/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


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI