shell中建立陣列和遍歷
阿新 • • 發佈:2019-01-23
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`