Shell 入門教程(十七) 如何使用陣列

2022-07-12 04:45:14 字數 1553 閱讀 6807

shell 中有陣列這個概念,陣列中可以存放多個值。但 shell 只支援一維陣列,不支援多維陣列,初始化時不需要定義陣列大小。與大部分程式語言類似,陣列元素的下標由0開始。

shell 陣列用括號來表示,元素用「空格」符號分割開,語法格式如下:

array_name=(value1 ... valuen)
例如:

#!/bin/bash

# author:陳樹義

# site:

my_array=(a b "c" d)

我們也可以使用下標來定義陣列:

array_name[0]=value0

array_name[1]=value1

array_name[2]=value2

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

#!/bin/bash

# author:陳樹義

# site:

my_array=(a b "c" d)

echo "第乙個元素為: $"

echo "第二個元素為: $"

echo "第三個元素為: $"

echo "第四個元素為: $"

執行指令碼,輸出結果如下所示:

$ chmod +x test.sh 

$ ./test.sh

第乙個元素為: a

第二個元素為: b

第三個元素為: c

第四個元素為: d

獲取陣列中的所有元素

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

#!/bin/bash

# author:陳樹義

# site:

my_array[0]=a

my_array[1]=b

my_array[2]=c

my_array[3]=d

echo "陣列的元素為: $"

echo "陣列的元素為: $"

執行指令碼,輸出結果如下所示:

$ chmod +x test.sh 

$ ./test.sh

陣列的元素為: a b c d

陣列的元素為: a b c d

獲取陣列長度的方法與獲取字串長度的方法相同,例如:

#!/bin/bash

# author:陳樹義

# site:

my_array[0]=a

my_array[1]=b

my_array[2]=c

my_array[3]=d

echo "陣列元素個數為: $"

echo "陣列元素個數為: $"

執行指令碼,輸出結果如下所示:

$ chmod +x test.sh 

$ ./test.sh

陣列元素個數為: 4

陣列元素個數為: 4

Shell 入門教程(四) 如何執行shell指令碼

執行 shell 指令碼有兩種方式,一種是通過 bash 命令,一種是作為可執行程式執行。我們寫了下面這樣乙個 shell 指令碼,並將其儲存為hello.sh bin bash echo hello shell.如果我們用bash命令執行,那麼是這樣的 bash hello.sh。執行後會輸出 h...

shell指令碼 入門教程(一)

0.摘要 本文主要介紹shell指令碼的概念,並給出hello world示例,讓讀者對shell指令碼有乙個基礎的認識。1.什麼是指令碼 簡單地說 在linux或類似系統中,我們常常會使用一系列的命令來完成一件小型的工作。如果把這些命令串起來並存放到乙個檔案中,那麼就得到了乙個指令碼。當然,指令碼...

shell指令碼 入門教程(二)

0.摘要 本文主要介紹shell指令碼中的變數和輸出方式。1.變數 變數 variable 就是為了某個資訊片段所起的名字,所有程式語言都需要變臉,因此shell也不例外。每個變數都有乙個值 value 這是分配給變數的內容或者資訊。shell中的變數可以是空值,null,即不含任何字元。空值在sh...