歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux中數組的應用

Linux中數組的應用

日期:2017/2/28 16:09:25   编辑:Linux教程

今天我們來看看在Linux的數組:

首先,什麼是數組(Array)呢?

Array:其實屬組也是一個變量,不過它是一個可以保存多個值的變量。通過數組的索引和下標,去引用。
注意:數組中保存的一般都是同樣類型的值,但是每個值卻是獨立的。可以被獨立使用或管理。

那麼如何初始化一個數組?

初始化方法①:單獨初始化

names[2]=AAA 將AAA定義為數組names的第3個元素
names[0]=BBB 將BBB定義為屬組中的第1個元素

這裡我們發現了,數組都是從零開始編號的。一般聲明屬組的時候也可以直接從1開始,但是當你聲明是1的時候,0其實是存在的。

初始化方法②:多個同時初始化:用一個小括號括起來!

names=([2]=AAA [0]=BBB [1]=CCC)
這樣,則是直接定義了屬組names的第3個元素為AAA,第1個元素為BBB,第2個元素為CCC

對於已經明確知道順序的即將定義的屬組,我們可以直接一次性多個同時初始化
names=(BBB CCC AAA)

則在這裡,就是 數組的第1位置是BBB 第2位置是CCC,第三號位是AAA

對於排序的中間缺頁的,如果想跳過,直接賦值後面的。則使用:

names=(AAA [5]=BBB CCC)
則,屬組的1號是AAA 6號是BBB 7號是CCC
注意:跳過缺頁只能跳過一次,跳過多次則不被識別。


初始化方法③:利用循環腳本一次性初始化

有時我們的屬組需要是一個文件中的每一行,或者www.linuxidc.com顯示出來的每一個,那怎麼辦呢?
#!/bin/bash
let I=0
for FILE in `ls /var`; do
VARFILE[$I]=$FILE
let I++
done

我們利用這個腳本,則將“ls /var”下的每一個文件的名字都賦值在了數組VARFILE中

那麼,當我們賦值之後,如何去將他調用出來呢?

拿初始化方法③的例子來說:
調用一個數組變量的時候要使用
echo ${VARFILE[0]} 因為我們要引用數組,而引用屬組中的一個元素就要加中括號,表明我們要引用哪個,所以這裡的數組變量必須要使用大括號。

如何去引用數組中的所有的值?

echo ${VARFILE[@]}
echo ${VARFILE[*]}
上面這兩種方法都可以引用出一個屬組的所有值,但是其中是有一定的小不同的。這個不同其實只要你將默認的間隔符改成非空格,就可以看出來了,在這裡不做過多的說明。

echo ${#VARFILE[*]}
前面加#號,則顯示組中的個數。

=================================================

好的,相信你差不多應該會使用數組了~那麼我們來出一道題練習一下數組的使用吧!!
編寫一個腳本,隨機顯示8個國家名稱中的一個國家。
基本格式

let A=0
while [ $A -le 10 ];do
echo ${RANDOM%8}
let A++
done

Copyright © Linux教程網 All Rights Reserved