精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Shell腳本程序開發(fā)-數(shù)組(四)

嵌入式加油站 ? 來源:谷動谷力 ? 2023-10-22 17:50 ? 次閱讀


c9239c8e-70af-11ee-939d-92fbcf53809c.jpg

數(shù)組中可以存放多個值。Bash Shell 只支持一維數(shù)組(不支持多維數(shù)組),初始化時不需要定義數(shù)組大小(與 PHP 類似)。

與大部分編程語言類似,數(shù)組元素的下標(biāo)由 0 開始。

定義數(shù)組

Shell 數(shù)組用括號來表示,元素用"空格"符號分割開,語法格式如下:

array_name=(value1 value2 ... valuen)


實(shí)例

創(chuàng)建一個簡單的數(shù)組 my_array:

#!/bin/bash

# author:谷動谷力

# url:bbs.sunsili.com

my_array=(A B "C" D "谷動谷力")


我們也可以使用數(shù)字下標(biāo)來定義數(shù)組:

array_name[0]=value0

array_name[1]=value1

array_name[2]=value2

讀取數(shù)組

讀取數(shù)組元素值的一般格式是:

${array_name[index]}


實(shí)例

以下實(shí)例通過數(shù)字索引讀取數(shù)組元素:

vim test_array.sh

#!/bin/bash

# author:谷動谷力

# url:bbs.sunsili.com

my_array=(A B "C" D "谷動谷力")

echo "第一個元素為: ${my_array[0]}"

echo "第二個元素為: ${my_array[1]}"

echo "第三個元素為: ${my_array[2]}"

echo "第四個元素為: ${my_array[3]}"

echo "第五個元素為: ${my_array[4]}"

輸入

:wq

保存退出

添加可執(zhí)行權(quán)限

chmod +x test_array.sh

執(zhí)行腳本,輸出結(jié)果如下所示:

第一個元素為: A

第二個元素為: B

第三個元素為: C

第四個元素為: D

第五個元素為: 谷動谷力

關(guān)聯(lián)數(shù)組

Bash 支持關(guān)聯(lián)數(shù)組,可以使用任意的字符串、或者整數(shù)作為下標(biāo)來訪問數(shù)組元素。

關(guān)聯(lián)數(shù)組使用 declare 命令來聲明,語法格式如下:

declare -A array_name

-A 選項(xiàng)就是用于聲明一個關(guān)聯(lián)數(shù)組。

關(guān)聯(lián)數(shù)組的鍵是唯一的。

以下實(shí)例我們創(chuàng)建一個關(guān)聯(lián)數(shù)組 site,并創(chuàng)建不同的鍵值:

實(shí)例

declare -A site=(["baidu"]="www.baidu.com" ["sunsili"]="www.sunsili.com" ["taobao"]="www.taobao.com")

我們也可以先聲明一個關(guān)聯(lián)數(shù)組,然后再設(shè)置鍵和值:

declare -A site

site["baidu"]="www.baidu.com"

site["sunsili"]="www.sunsili.com"

site["taobao"]="www.taobao.com"


也可以在定義的同時賦值。

訪問關(guān)聯(lián)數(shù)組元素可以使用指定的鍵,格式如下:

array_name["index"]

以下實(shí)例我們通過鍵來訪問關(guān)聯(lián)數(shù)組的元素:

declare -A site

site["baidu"]="www.baidu.com"

site["sunsili"]="www.sunsili.com"

site["taobao"]="www.taobao.com"

echo ${site["sunsili"]}

執(zhí)行腳本,輸出結(jié)果如下所示:

www.sunsili.com

獲取數(shù)組中的所有元素

使用@或 * 可以獲取數(shù)組中的所有元素,例如:

#!/bin/bash

# author:谷動谷力

# url:bbs.sunsili.com

my_array=(A B "C" D "谷動谷力")

echo "第一個元素為: ${my_array[0]}"

echo "第二個元素為: ${my_array[1]}"

echo "第三個元素為: ${my_array[2]}"

echo "第四個元素為: ${my_array[3]}"

echo "第五個元素為: ${my_array[4]}"

echo "數(shù)組的元素為: ${my_array[*]}"

echo "數(shù)組的元素為: ${my_array[@]}"

執(zhí)行腳本,輸出結(jié)果如下所示:

數(shù)組的元素為: A B C D 谷動谷力

數(shù)組的元素為: A B C D 谷動谷力


實(shí)例

declare -A site

site["baidu"]="www.baidu.com"

site["sunsili"]="www.sunsili.com"

site["taobao"]="www.taobao.com"

echo "數(shù)組的元素為: ${site[*]}"

echo "數(shù)組的元素為: ${site[@]}"

執(zhí)行腳本,輸出結(jié)果如下所示:

數(shù)組的元素為: www.taobao.com www.baidu.com www.sunsili.com

數(shù)組的元素為: www.taobao.com www.baidu.com www.sunsili.com


在數(shù)組前加一個感嘆號 ! 可以獲取數(shù)組的所有鍵,例如:

declare -A site

site["baidu"]="www.baidu.com"

site["sunsili"]="www.sunsili.com"

site["taobao"]="www.taobao.com"

echo "數(shù)組的鍵為: ${!site[*]}"

echo "數(shù)組的鍵為: ${!site[@]}"


執(zhí)行腳本,輸出結(jié)果如下所示:

數(shù)組的鍵為: taobao baidu sunsili

數(shù)組的鍵為: taobao baidu sunsili


獲取數(shù)組的長度

獲取數(shù)組長度的方法與獲取字符串長度的方法相同,例如:

#!/bin/bash

# author:谷動谷力

# url:bbs.sunsili.com

my_array=(A B "C" D "谷動谷力")

echo "第一個元素為: ${my_array[0]}"

echo "第二個元素為: ${my_array[1]}"

echo "第三個元素為: ${my_array[2]}"

echo "第四個元素為: ${my_array[3]}"

echo "第五個元素為: ${my_array[4]}"

echo "數(shù)組元素個數(shù)為: ${#my_array[*]}"

echo "數(shù)組元素個數(shù)為: ${#my_array[@]}"


執(zhí)行腳本,輸出結(jié)果如下所示:

數(shù)組元素個數(shù)為: 5

數(shù)組元素個數(shù)為: 5








審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PHP
    PHP
    +關(guān)注

    關(guān)注

    0

    文章

    452

    瀏覽量

    26579
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    359

    瀏覽量

    23194
  • Bash
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    10136

原文標(biāo)題:【Shell腳本】Shell腳本程序開發(fā) -- 數(shù)組(四)

文章出處:【微信號:嵌入式加油站,微信公眾號:嵌入式加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    shell腳本進(jìn)階】幾個常用的shell進(jìn)階腳本

    shell腳本進(jìn)階】幾個常用的shell進(jìn)階腳本
    的頭像 發(fā)表于 09-19 08:59 ?1728次閱讀
    【<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>進(jìn)階】幾個常用的<b class='flag-5'>shell</b>進(jìn)階<b class='flag-5'>腳本</b>

    linux shell腳本分享

    今天浩道跟大家分享shell腳本硬核干貨,可以說是拿來即用序列!
    發(fā)表于 02-17 09:13 ?366次閱讀

    Linux Shell腳本入門到實(shí)戰(zhàn)詳解

    Linux Shell腳本入門到實(shí)戰(zhàn)詳解
    發(fā)表于 02-17 15:03 ?578次閱讀

    Linux shell腳本分享

    今天浩道跟大家分享幾個Linux運(yùn)維中常用到的shell腳本
    發(fā)表于 07-18 09:53 ?524次閱讀
    Linux <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>分享

    shell腳本的相關(guān)資料分享

    腳本提供數(shù)組、循環(huán)、條件判斷的等功能shell腳本一般是Linux運(yùn)維或者系統(tǒng)管理員要掌握的,作為嵌入式開發(fā)人員,只需要掌握
    發(fā)表于 12-23 06:17

    linux shell 腳本入門

    1. Linux 腳本編寫基礎(chǔ) 1.1 語法基本介紹 1.1.1 開頭 程序必須以下面的行開始(必須方在文件的第一行): #!/bin/sh 符號#!用來告訴系統(tǒng)它后面的參數(shù)是用來執(zhí)行該文件的程序
    發(fā)表于 11-07 15:44 ?11次下載

    嵌入式和物聯(lián)網(wǎng)的shell腳本學(xué)習(xí)指南之shell腳本入門免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)技術(shù)的是嵌入式和物聯(lián)網(wǎng)的shell腳本學(xué)習(xí)指南之shell腳本入門免費(fèi)下載。
    發(fā)表于 09-11 17:15 ?20次下載
    嵌入式和物聯(lián)網(wǎng)的<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>學(xué)習(xí)指南之<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>入門免費(fèi)下載

    shell腳本最簡明的教程

    Shell腳本,就是利用Shell的命令解釋的功能,對一個純文本的文件進(jìn)行解析,然后執(zhí)行這些功能,也可以說Shell腳本就是一系列命令的集合
    的頭像 發(fā)表于 10-16 11:27 ?4603次閱讀
    <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>最簡明的教程

    109個實(shí)用shell腳本分享

    Shell腳本,就是利用Shell的命令解釋的功能,對一個純文本的文件進(jìn)行解析,然后執(zhí)行這些功能,也可以說Shell腳本就是一系列命令的集合
    的頭像 發(fā)表于 03-16 08:58 ?2485次閱讀

    Linux開發(fā)_Makefile規(guī)則與Shell腳本語言

    介紹Linux下Makefile編程知識點(diǎn),Shell腳本知識點(diǎn)。
    的頭像 發(fā)表于 09-17 15:40 ?1142次閱讀

    shell腳本基礎(chǔ)知識

    shell腳本是一個文件,里面存放的是特定格式的指令,系統(tǒng)可以使用腳本解析器翻譯或解析指令并執(zhí)行(無需編譯),shell腳本的本質(zhì)是
    的頭像 發(fā)表于 04-17 15:00 ?969次閱讀

    Linux Shell腳本經(jīng)典案例分享

    ? 作為一名 Linux 運(yùn)維工程師,會寫好的腳本不僅能提高工作效率,還能有更多的時間做自己的事。最近在網(wǎng)上沖浪的時候,發(fā)現(xiàn)大家對Shell腳本都有“心結(jié)”,要么覺得自己寫出來不好看,要么根本無從下手。 下面分享249個真實(shí)
    發(fā)表于 06-16 14:03 ?590次閱讀
    Linux <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>經(jīng)典案例分享

    如何利用shell進(jìn)行腳本程序的設(shè)計(jì)?

    利用Shell進(jìn)行腳本程序的設(shè)計(jì)可以按照以下步驟進(jìn)行: 選擇Shell解釋器:在Unix和Linux系統(tǒng)中,通常會默認(rèn)安裝一個或多個Shell
    的頭像 發(fā)表于 11-08 10:17 ?432次閱讀

    shell并行執(zhí)行java腳本

    Shell是一種用于解釋執(zhí)行命令的腳本語言,而Java是一種跨平臺的面向?qū)ο缶幊陶Z言。在某些情況下,我們可能需要在Shell腳本中執(zhí)行Java程序
    的頭像 發(fā)表于 11-08 10:29 ?533次閱讀

    Shell腳本檢查工具ShellCheck介紹

    ShellCheck是一個用于bash/sh shell腳本的靜態(tài)分析工具,可以輔助檢查腳本語法錯誤,給出建議增強(qiáng)腳本健壯性。
    的頭像 發(fā)表于 12-27 13:43 ?1604次閱讀
    <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>檢查工具ShellCheck介紹