1. 程式人生 > >shell中建立陣列和遍歷

shell中建立陣列和遍歷

linux 中定義一個數據的語法為:

variable=(arg1 arg2 arg3 ....)

中間用空格分開。陣列的下標從0開始。

1  獲取下標為n的元素:

variable[n]

而且不存在陣列下標溢位的情況,如果 n>= 陣列的長度,那麼為空,不會報錯。

2  獲取陣列長度

${#variable[@]}

或者

${#variable[*]}

那麼如何用for遍歷呢?一共有兩種方式:

第一種方式:直接遍歷元素,不需要按照下標遍歷,多用這種方式

count=0        # 注意賦值的兩端一定不能有空格,shell中的空格用法很嚴格

for element in ${variable[@]}

do

    echo ${element}

    let count++

done

第二種方式:按照下標遍歷

感覺並不常用

for i in $(seq 0 ${#variable[@]})

do

 e=${variable[$i]}

 # do something....

done

以上兩種方法 把 @ 換成 * 也行。

do如果和for寫在一行,for後面要加分號

for element in ${variable[@]};do

變數加1的其他幾種寫法

# 變數如果在左邊,就不需要$

let i=i+1;

x=$(( $x + 1 ))

x=`expr $x + 1`​