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中,用括號來表示陣列,陣列元素用...