在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Shell腳本程序開發-數組(四)

嵌入式加油站 ? 來源:谷動谷力 ? 2023-10-22 17:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


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

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

與大部分編程語言類似,數組元素的下標由 0 開始。

定義數組

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

array_name=(value1 value2 ... valuen)


實例

創建一個簡單的數組 my_array:

#!/bin/bash

# author:谷動谷力

# url:bbs.sunsili.com

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


我們也可以使用數字下標來定義數組:

array_name[0]=value0

array_name[1]=value1

array_name[2]=value2

讀取數組

讀取數組元素值的一般格式是:

${array_name[index]}


實例

以下實例通過數字索引讀取數組元素:

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

保存退出

添加可執行權限

chmod +x test_array.sh

執行腳本,輸出結果如下所示:

第一個元素為: A

第二個元素為: B

第三個元素為: C

第四個元素為: D

第五個元素為: 谷動谷力

關聯數組

Bash 支持關聯數組,可以使用任意的字符串、或者整數作為下標來訪問數組元素。

關聯數組使用 declare 命令來聲明,語法格式如下:

declare -A array_name

-A 選項就是用于聲明一個關聯數組。

關聯數組的鍵是唯一的。

以下實例我們創建一個關聯數組 site,并創建不同的鍵值:

實例

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

我們也可以先聲明一個關聯數組,然后再設置鍵和值:

declare -A site

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

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

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


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

訪問關聯數組元素可以使用指定的鍵,格式如下:

array_name["index"]

以下實例我們通過鍵來訪問關聯數組的元素:

declare -A site

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

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

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

echo ${site["sunsili"]}

執行腳本,輸出結果如下所示:

www.sunsili.com

獲取數組中的所有元素

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

#!/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 "數組的元素為: ${my_array[*]}"

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

執行腳本,輸出結果如下所示:

數組的元素為: A B C D 谷動谷力

數組的元素為: A B C D 谷動谷力


實例

declare -A site

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

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

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

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

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

執行腳本,輸出結果如下所示:

數組的元素為: www.taobao.com www.baidu.com www.sunsili.com

數組的元素為: www.taobao.com www.baidu.com www.sunsili.com


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

declare -A site

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

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

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

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

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


執行腳本,輸出結果如下所示:

數組的鍵為: taobao baidu sunsili

數組的鍵為: taobao baidu sunsili


獲取數組的長度

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

#!/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 "數組元素個數為: ${#my_array[*]}"

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


執行腳本,輸出結果如下所示:

數組元素個數為: 5

數組元素個數為: 5








審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PHP
    PHP
    +關注

    關注

    0

    文章

    454

    瀏覽量

    27384
  • Shell
    +關注

    關注

    1

    文章

    372

    瀏覽量

    24122
  • Bash
    +關注

    關注

    0

    文章

    57

    瀏覽量

    10421

原文標題:【Shell腳本】Shell腳本程序開發 -- 數組(四)

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    shell腳本進階】幾個常用的shell進階腳本

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

    linux shell腳本分享

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

    Linux Shell腳本入門到實戰詳解

    Linux Shell腳本入門到實戰詳解
    發表于 02-17 15:03 ?748次閱讀

    Linux shell腳本分享

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

    shell腳本的相關資料分享

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

    linux shell 腳本入門

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

    嵌入式和物聯網的shell腳本學習指南之shell腳本入門免費下載

    本文檔的主要內容詳細技術的是嵌入式和物聯網的shell腳本學習指南之shell腳本入門免費下載。
    發表于 09-11 17:15 ?20次下載
    嵌入式和物聯網的<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>學習指南之<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>入門免費下載

    shell腳本最簡明的教程

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

    109個實用shell腳本分享

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

    Linux開發_Makefile規則與Shell腳本語言

    介紹Linux下Makefile編程知識點,Shell腳本知識點。
    的頭像 發表于 09-17 15:40 ?1598次閱讀

    shell腳本基礎知識

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

    Linux Shell腳本經典案例分享

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

    如何利用shell進行腳本程序的設計?

    利用Shell進行腳本程序的設計可以按照以下步驟進行: 選擇Shell解釋器:在Unix和Linux系統中,通常會默認安裝一個或多個Shell
    的頭像 發表于 11-08 10:17 ?879次閱讀

    shell并行執行java腳本

    Shell是一種用于解釋執行命令的腳本語言,而Java是一種跨平臺的面向對象編程語言。在某些情況下,我們可能需要在Shell腳本中執行Java程序
    的頭像 發表于 11-08 10:29 ?925次閱讀

    Linux從零到精通:最簡單的Shell腳本入門教程

    case語句 shell變量數組 shell腳本前言 |為什么學習shell編程 Shell
    的頭像 發表于 12-05 09:56 ?1456次閱讀
    Linux從零到精通:最簡單的<b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>入門教程
    主站蜘蛛池模板: 国模精品一区二区 | 免费性网站 | 怡红院精品视频 | 69hdxxxx日本 | 午夜欧美成人久久久久久 | 婷婷六月丁香色婷婷网 | 视频在线你懂的 | 亚洲午夜视频在线观看 | 男人和女人做免费做爽爽视频 | 亚洲爱爱网 | 日本口工禁漫画无遮挡全彩 | 五月天精品在线 | riav久久中文一区二区 | 黄色短视频软件 | 91免费网站在线看入口黄 | 中国人黑人xxⅹ性猛 | 欧美极品xxxxⅹ另类 | 国产精品三级在线播放 | 四虎新网址 | 久久久久激情免费观看 | 黄色在线观看视频网站 | 日日做夜夜爽夜夜爽 | 国产一级做a爰片久久毛片男 | 久久天天操 | 狠狠躁夜夜躁人人爽天天3 狠狠躁夜夜躁人人爽天天段 | 欧美97色| 国产理论在线 | 天天摸天天添人人澡 | 亚洲第一久久 | 中文字幕一区2区3区 | 看一级特黄a大片日本片 | 成年女人在线观看 | 中文在线最新版天堂bt | 天天干天天插天天操 | 黄色片网站观看 | 影音先锋色偷偷米奇四色 | 亚洲成人自拍 | 日本69sexmovies | 米奇777色狠狠8888影视 | 久久手机免费视频 | 一级特一级特色生活片 |