中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

第五章 Shell函數與數組

發布時間:2020-07-15 09:38:12 來源:網絡 閱讀:3449 作者:李振良OK 欄目:開發技術

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扎鲁特旗| 温泉县| 老河口市| 若羌县| 嵩明县| 崇左市| 宿松县| 曲麻莱县| 始兴县| 闽侯县| 昌宁县| 隆尧县| 龙门县| 彰化县| 和龙市| 盐边县| 化州市| 永德县| 水城县| 永福县| 固始县| 昌邑市| 电白县| 北碚区| 胶南市| 扎鲁特旗| 门头沟区| 尼木县| 天峨县| 左云县| 营山县| 永济市| 唐河县| 涞水县| 随州市| 金塔县| 固镇县| 五华县| 榆中县| 长丰县| 桑植县|