八 Shell陣列 shell陣列的定義 陣列長度

2021-08-07 18:08:57 字數 1497 閱讀 6168

shell在程式設計方面比windows批處理強大很多,無論是在迴圈、運算。

bash支援一維陣列(不支援多維陣列),並且沒有限定陣列的大小。

類似於c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。

(1)定義陣列

在shell中,用括號來表示陣列,陣列元素用「空格」符號分割開。定義陣列的一般形式為:

array_name=(value1 ... valuen)
eg:

echo

"方法一:"

a_n=(a0 b1 c2 d3)

或者echo

"方法二:"

a_n=(

a0 b1

c2 d3

)

還可以單獨定義陣列的各個分量:

echo "方法三:"

a_n[0]=a0

a_n[1]=b1

a_n[3]=c3

a_n[4]=d4

可以不使用連續的下標,而且下標的範圍沒有限制。

(2)讀取陣列

讀取陣列元素值的一般格式是:

$
eg1:

#!/bin/sh

a_n=(a0 b1 c2 d3)

echo

$結果:

[root@h data]# /bin/sh b1.sh

d3

eg2:

#!/bin/sh

a_n[0]=a0

a_n[1]=b1

a_n[3]=c3

a_n[4]=d4

echo

$結果:

[root@h data]# /bin/sh b.sh

c3

使用@ 或 * 可以獲取陣列中的所有元素,eg:

$

$

eg3:

#!/bin/sh

a_n=(a0 b1 c2 d3)

echo

$echo

$echo

$結果:

[root@h data]# /bin/sh b1.sh

d3a0 b1 c2 d3

a0 b1 c2 d3

(3)獲取陣列的長度

獲取陣列長度的方法與獲取字串長度的方法相同

eg:

# 取得陣列元素的個數

eg:#!/bin/bash

a_n=(a0 b1 c2 d3)

length=$

echo

$length

# 或者

le=$

echo

$le# 取得陣列單個元素的長度

lengthn=$

八 shell程式設計 陣列

1.陣列簡介 陣列 用乙個固定的字串,代替多個不固定字串。變臉 用乙個固定的字串,代替多個不固定字串。2.陣列型別 普通陣列 只能使用整數作為陣列索引 關聯陣列 可以使用字串作為陣列索引 普通陣列 echo 意思是name變數中從索引3開始顯示4個 這叫變數切片,不常用 編寫陣列方法 hero aa...

Shell陣列 shell陣列的定義 陣列長度

shell在程式設計方面比windows批處理強大很多,無論是在迴圈 運算。bash支援一維陣列 不支援多維陣列 並且沒有限定陣列的大小。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。在shell中,用括號來表示陣列,陣列元素用...

Shell陣列 shell陣列的定義 陣列長度

shell在程式設計方面比windows批處理強大很多,無論是在迴圈 運算。bash支援一維陣列 不支援多維陣列 並且沒有限定陣列的大小。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。在shell中,用括號來表示陣列,陣列元素用...