自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Bash 初學者系列 4:在 bash 中使用數(shù)組

系統(tǒng) Linux
如果在 bash 腳本中需要多個變量,該怎么辦?假設(shè)我們要創(chuàng)建一個 bash 腳本,從用戶那里讀取 100 個不同的輸入,那么需要創(chuàng)建 100 個變量嗎?肯定不是這樣,我們需要使用數(shù)組。

在前面的文章中,我們介紹了如何??在 bash 中使用有限數(shù)量的變量???,比如要保存一個或兩個文件名或用戶名。

但是,如果在 bash 腳本中需要多個變量,該怎么辦?假設(shè)我們要創(chuàng)建一個 bash 腳本,從用戶那里讀取 100 個不同的輸入,那么需要創(chuàng)建 100 個變量嗎?

肯定不是這樣,我們需要使用數(shù)組。

在 bash 腳本中創(chuàng)建第一個數(shù)組

假設(shè)我們要創(chuàng)建一個名為 timestamp.sh 的腳本,用來更新 5 個不同文件的時間戳。

第一種使用比較原始的方法,創(chuàng)建 5 個不同的變量,如下所示:

#!/bin/bash
file1="f1.txt"file2="f2.txt"file3="f3.txt"file4="f4.txt"file5="f5.txt"
touch $file1touch $file2touch $file3touch $file4touch $file5

可以看到這種方法寫起來比較繁瑣,我們還可以使用另一種方法,創(chuàng)建一個包含所有文件名的數(shù)組,如下語法:

array_name=(value1 value2 value3 … )

這種比較簡潔,所以我們采用數(shù)組的方法,如下:

files=("f1.txt" "f2.txt" "f3.txt" "f4.txt" "f5.txt")

訪問bash中的數(shù)組元素

與大多數(shù)編程語言中一樣,數(shù)組中的元素索引是從 0 開始的,所以要訪問數(shù)組中第 n 個元素,其下標索引應(yīng)該是 [n - 1]。

比如,要打印數(shù)組中的第 2 個元素,可以參考如下方式:

echo ${files[1]}

以下 bash 腳本 reverse.sh,將倒序打印數(shù)組中的 5 個元素:

#!/bin/bash
files=("f1.txt" "f2.txt" "f3.txt" "f4.txt" "f5.txt")
echo ${files[4]}echo ${files[3]}echo ${files[2]}echo ${files[1]}echo ${files[0]}

圖片?

使用過 bash 的朋友可能會覺得奇怪,為什么我這里用這么多 echo 命令,而不是使用循環(huán)。我是想稍后在介紹 bash 中循環(huán)的使用。

也可以一次打印出所有數(shù)組元素:?

echo ${files[*]}
f1.txt f2.txt f3.txt f4.txt f5.txt

可以打印數(shù)組元素的總數(shù),也就是數(shù)組的大?。?

echo ${#files[@]}
5

數(shù)組中元素的值是可以更改的。比如,我們可以用如下方式將數(shù)組中第一個元素的值改為 a.txt:

files[0]="a.txt"

向數(shù)組中添加元素

我們首先創(chuàng)建一個包含 Linux 版本名稱的數(shù)組:

distros=("Ubuntu" "Red Hat" "Fedora")

上述數(shù)組中包含三個元素??梢允褂?span style="background-color: #d6fad6;"> += 運算符將元素添加(追加)到數(shù)組的末尾,如下所示:

distros+=("Kali")

現(xiàn)在,數(shù)組中已經(jīng)有了 4 個元素,Kali 是最后一個:

圖片

刪除數(shù)組中的元素

我們首先創(chuàng)建一個包含 5 個數(shù)字的數(shù)組,其名稱為 num:

num=(1 2 3 4 5)

可以打印一下數(shù)組中的元素:?

echo ${num[*]}
1 2 3 4 5

我們可以使用 shell 內(nèi)置功能 unset 來刪除 數(shù)組中的第 3 個元素:

unset

現(xiàn)在,我們再來打印一下 num 數(shù)組中的元素:

echo ${num[*]}1 2 4 5

上面結(jié)果可以看到,第三個元素已經(jīng)被刪除。

也可以使用同樣的方法刪除數(shù)組中所有的元素:

unset

圖片

創(chuàng)建具有不同數(shù)據(jù)類型的混合數(shù)組

與其他編程語言不同,在 bash 中,可以創(chuàng)建包含不同數(shù)據(jù)類型的數(shù)組,如下 user.sh 所示:?

#!/bin/bash
user=("john" 122 "sudo,developers" "bash")
echo "User Name: ${user[0]}"echo "User ID: ${user[1]}"echo "User Groups: ${user[2]}"echo "User Shell: ${user[3]}"

上述腳本中的數(shù)組包含有四個元素,其中第二個元素為整型數(shù)據(jù)類型,其余三個元素為字符串。

圖片

以上就是本次分享全部內(nèi)容,歡迎討論。

責任編輯:龐桂玉 來源: TIAP
相關(guān)推薦

2022-12-14 10:08:00

BashLinux

2022-12-13 12:55:15

Bash循環(huán)

2022-12-16 09:01:24

2022-12-01 08:10:49

Bash腳本參數(shù)

2022-12-07 07:43:21

2022-12-09 07:58:52

Bash條件語句

2022-11-30 07:47:00

Bash腳本

2022-12-08 12:05:03

Bash字符串

2023-07-20 15:37:50

Bash數(shù)組

2022-11-28 08:01:47

BashLinuxshell 腳本

2023-07-12 14:13:03

BashLinux

2020-10-13 19:04:58

Bash信號捕獲Shell腳本

2019-04-22 14:39:05

BashLinux命令

2019-04-15 11:10:34

Bash方括號命令行

2022-01-16 07:48:33

腳本Bash 工具

2011-06-17 14:54:31

Qt

2023-01-13 12:37:43

Bashshell花括號

2012-03-14 10:56:23

web app

2011-04-12 10:13:24

2009-11-17 15:33:26

PHP數(shù)組元素
點贊
收藏

51CTO技術(shù)棧公眾號