一、使用#號獲取數組長度
#!/bin/bash array=("apple" "banana" "carrot" "date") echo "數組長度為 ${#array[@]}"
使用#號可以很方便地獲取數組的長度,只需要在數組名稱前加上#號即可。其中@表示獲取所有的元素,也可以使用*。
上述代碼中,定義了一個包含4個元素的數組,使用${#array[@]}語句輸出數組的長度。
二、使用expr命令獲取數組長度
#!/bin/bash array=("apple" "banana" "carrot" "date") echo "數組長度為 $(expr ${#array[@]})"
使用expr命令同樣可以獲取數組長度,只需要將數組長度作為參數傳遞給expr命令即可。
上述代碼中,定義了一個包含4個元素的數組,使用$(expr ${#array[@]})語句輸出數組的長度。
三、使用wc命令獲取數組長度
#!/bin/bash array=("apple" "banana" "carrot" "date") echo "數組長度為 $(echo ${array[@]} | wc -w)"
使用wc命令同樣可以獲取數組長度,只需要將數組元素作為字符串傳遞給echo命令,然後使用wc命令計算單詞數即可(每個元素之間用空格分隔)。
上述代碼中,定義了一個包含4個元素的數組,使用$(echo ${array[@]} | wc -w)語句輸出數組的長度。
四、使用自定義函數獲取數組長度
#!/bin/bash function array_length { local arr=("$@") echo ${#arr[@]} } array=("apple" "banana" "carrot" "date") len=$(array_length "${array[@]}") echo "數組長度為 $len"
可以創建一個自定義函數來獲取數組長度,該函數接收數組作為參數,並使用${#arr[@]}語句獲取數組長度。
上述代碼中,定義了一個包含4個元素的數組,並使用array_length函數獲取數組的長度。
五、總結
以上就是獲取Shell數組長度的四種方法,使用#號最為簡單快捷,而自定義函數則更為靈活方便。
原創文章,作者:PCWYT,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/325207.html