Linux中Shell數組的筆記

4418040-4b4ae17a07b31b91

Shell數組的介紹

數組算是一種特殊的數據結構,數據項可以成為數組的元素,可以通過數組的索引獲取每一個數組的元素值。

數組的典型的使用場景是把相同類型的元素匯總在一起。由于Shell變量屬于弱類型,所以數組里面的元素并不一定是相同類型。

注意:Shell中的數組只支持一維數組,但對元素的個數沒有限制,數組元素的索引也是從0開始。

數組的定義

數組的定義格式:declare -a 數組名稱

比如:declare -a testarr #定義一個testarr數組

testarr[0]=10 #第一個元素賦值

testarr[1]="hello" #第二個元素賦值

#數組定義的時候同時賦值

declare -a testarr=(10,'hello') 等價于 testarr=(10,'hello')

testarr[2]=20 #增加元素

#不連續賦值

testarr1=([1]=10 [3]=30 [5]=50)

數組的操作

1、數組的取值

格式如下:${數組名[索引]}

比如:echo ${testarr[0]}

echo ${testarr[@]} #獲取元素的所有值? 輸出以空格隔開的元素值

echo ${testarr[*]} #獲取元素的所有值,輸出的是一整個字符串

2、數組長度

方法如下:

echo ${#testarr[@]} #獲取數組元素的個數

echo ${#testarr[*]} #獲取數組元素的個數

echo ${#testarr[0]} #獲取數組某一個元素的長度

3、數組截取

echo ${testarr[@]:1:2}?

#獲取數組的索引值是1、2的元素

echo ${testarr[2]:0:2}?

#獲取數組索引值是2元素值截取從第0個字符開始連續2個字符

4、連接數組

testarr2={${testarr[@]} ${testarr1[@]}} #合并數組

5、替換元素:將數組內某個元素值替換成其他值

testarr=($testarr[@]/hello/helloworld)

6、取消數組或元素

unset $testarr #取消數組

unset $testarr[0] #取消數組的一個元素

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/272040.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272040.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272040.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux中php配置

安裝nginxphp好久了,今天意外的搭建好了,分享給大家 ,以免以后多走彎路。 nginx已經前面安裝好了,現在就開始配置php 安裝php 分為兩個部分 :一部分是php源碼,另外是fastcgi管理進程:php-fpm 慶…

log函數 oracle power_Excel之數學函數SQRT/MOD/EXP/LN/RAND

本部分主要包括ABS函數、SQRT函數、SIGN函數、MOD函數、POWER、EXP函數、LN函數、LOG函數、LOG10函數、RAND函數、RANDBETWEEN函數、PI函數、SIN函數、COS函數、TAN函數、PRODUCT函數、FACT函數、GCD函數、LCM函數、DEGREES函數、RADIANS函數和SUBTOTAL函數共22個。需重點掌握S…

Linux中Shell循環結構for用法筆記

Shell中可以使用for做固定次數循環的處理。常見的for循環用法主要有以下幾種:1、帶列表的for循環語法結構:for item in (list)docommanddone示例:cat demo1.sh 內容如下:#!/bin/bashnames"小明 小王 小張"for item in n…

斐波那契數列 在實際問題上的變種

我們可以用2*1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形&#xff0c;總共有多少種方法1 利用數組結構遍歷方法if(target1 || target0)return 1;int [] arr new int [target1];arr[0] 1;arr[1] 1;for(int i2;i<target;i){a…

焊接符號標注圖解示例_【干貨】焊接圖紙符號匯總 ,學習收藏!!

基本坡口符號坡口符號(注&#xff1a;圖中“破”應為“坡”)焊接圖紙符號標注圖解示例焊接符號標注實例及方法在焊接結構圖樣上&#xff0c;焊接方法可按國家標準GB5185-85的規定用阿拉伯效字表示&#xff0c;標注在指引線的尾部。常用焊接方法代號見表3-9所示。如果是組合焊接…

Linux有關Shell中if用法筆記

shell中的if主要是用于程序的判斷邏輯&#xff0c;從而控制腳本的執行邏輯。這和很多編程語言思路上都是一致的。1、if的用法結構如下&#xff1a;if exp;thencommand1;command2;fi示例&#xff1a;#根據輸入的學生成績打印對應的成績等級&#xff1a;大于90分為優秀&#xff1…

自定義Chrome插件Vimium

自定義快捷鍵 map e scrollPageUp map w removeTab map s nextTab map a previousTab map q goNext map z restoreTab 默認搜索引擎 https://www.baidu.com/s?wd 添加上一頁下一頁識別 Previous patterns prev,previous,back,older,<,←,,?,<<,上一頁 Next patterns…

es查詢大文本效率_es之路由:進一步提高Elasticsearch的檢索效率(適用大規模數據集)...

1&#xff1a;一條數據是如何落地到對應的shard上的當索引一個文檔的時候&#xff0c;文檔會被存儲到一個主分片中。 Elasticsearch 如何知道一個文檔應該存放到哪個分片中呢&#xff1f;首先這肯定不會是隨機的&#xff0c;否則將來要獲取文檔的時候我們就不知道從何處尋找了。…

pyhton數據類型

列表使用場景 列表就是java中的數組 元組用 &#xff08;&#xff09;表示 元組的元素不能修改 元組和列表之間的轉換 字典 使用 {}表示 合并字典 清空字典 遍歷字典 字符串

好程序員應該擁有的7個特質

一個好的程序員應該擁有的10大特質&#xff0c;你符合哪些呢&#xff1f;1、喜歡研究無論你怎么稱呼它&#xff0c;你可能遇到的大多數編程問題幾乎在一定形式上都已經被解決了。傳道書早就記錄在案&#xff0c;陽光底下無新事。在GitHub上的庫文件列表中&#xff0c;在互聯網上…

最大全零子矩陣

【題目描述】在一個0,1方陣中找出其中最大的全0子矩陣&#xff0c;所謂最大是指0的個數最多。 【輸入描述】輸入第一行為整數N&#xff0c;其中1<N<2000&#xff0c;為方陣的大小&#xff0c;緊接著N行每行均有N個0或1&#xff0c;相鄰兩數間嚴格用一個空格隔開。 【輸出…

微機原理換行代碼_設置段落樣式的標記中,用來換行的標記是:

【判斷題】( )經檢驗,收退貨品為良品,退貨上架員用RF終端設備掃描,并根據指示進行良品入庫作業。【單選題】Web of Science中,SAME算符()。【多選題】在進行人員培訓時必須考慮的事項有( )。【單選題】在PubMed-MeSH檢索界面中,輸入檢索詞tongue cancer,點擊“Search”,查詢結果…

谷歌瀏覽器添加插件時顯示程序包無效:CRX_HEADER_INVALID 解決辦法

在添加谷歌插件的時候&#xff0c;發現谷歌瀏覽器顯示 程序包無效&#xff1a;"CRX_HEADER_INVALID" 解決方法如下&#xff1a; 下圖是下載好的 .crx 結尾的插件。 將插件的后綴名改為.rar &#xff0c;如下圖。 解壓 接下來就是瀏覽器添加插件&#xff0c;打開到瀏…

推薦VSCode12個比較實用的插件

1、Auto Rename Tag?——自動重命名成對的HTML標記。假如你創建了一個<p>標記。現在你想更改它。有了這個軟件&#xff0c;你只需要更改一個就行&#xff0c;另一個會自動修改。從理論上來說&#xff0c;使用這個軟件可以把你的工作效率提升一倍。2、HTML CSS Support?…

[單選題]$array = array('a','b','c','d'); $array_now = array_splice($array,2); print_r($array_now);...

Array ( [0] > c [1] > d ) Array ( [0] > a [1] > c ) Array ( [0] > b [1] > d ) Array ( [0] > a [1] > b )PHP array_splice() 函數 PHP Array 函數 實例 從數組中移除元素&#xff0c;并用新元素取代它&#xff1a; <?php $a1array("a&q…

圖論解油瓶分油問題_一個很有趣的de novo圖論算法

首先&#xff0c;小編先給大家介紹一些關于組裝的歷史。大家肯定也知道&#xff0c;這個組裝技術的發展是依賴于測序技術的。首先在一代測序的時候&#xff0c;測序數據量較少&#xff0c;成本較高&#xff0c;人們對于組裝的結首先&#xff0c;小編先給大家介紹一些關于組裝的…

pip show pip可以查看pip的版本以及升級pip到最新版本

輸入命令&#xff1a;pip show pip可以查看pip的版本&#xff0c;如果不是最新版最后會有提示如下&#xff1a; 輸入命令&#xff1a;python -m pip install --upgrade pip可以升級pip到最新版本。

盤點程序員開發遇到的30個問題

1、我不知道該刪掉還是重寫回歸曾經寫的源代碼&#xff0c;總有一種想要重新返工的沖動&#xff0c;邏輯性差&#xff0c;冗余代碼多&#xff0c;讓人難以理解。但是&#xff0c;如果功能沒出現問題&#xff0c;千萬不要去修改。這是我經常要面對的困擾&#xff0c;相信也困擾了…

20159320《網絡攻防實踐》第5周教材總結

web應用程序安全攻防 應用程序體系結構以及其安全威脅 1、三層架構&#xff1a;表示層、業務邏輯層和數據層 2、體系結構&#xff1a;瀏覽器、web服務器、web應用程序、數據庫、傳輸協議HTTP/HTTPS 3、web應用安全威脅&#xff1a;針對瀏覽器和終端用戶的web瀏覽安全、針對傳輸…