亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Linux基礎 - shell數組

標簽:
Linux

摘要

数组的特性就是一组数据类型相同的集合,虽然shell是弱类型,但是我们也可以将其数组分为数据类型的数组字符串类型的数组两类
shell的数组元素之间用空格分隔开


数组操作

假设有以下两个数组

array1=(1 2 3 4 5 6)
array2=("James" "Colin" "Harry")
  • 数据变量名默认输出
    默认直接输出变量的话,其输出值默认为第一个元素的值,下标从0开始

root@pts/1 $ echo $array11root@pts/1 $ echo $array2
James
  • 获取数组元素
    格式:${数组名[下标]},下标从0开始,下标为*@代表整个数组内容

root@pts/1 $ echo ${array1[2]}
3root@pts/1 $ echo ${array2[1]}Colin## 获取全部元素root@pts/1 $ echo ${array2[*]}James Colin Harryroot@pts/1 $ echo ${array2[@]}James Colin Harry
  • 获取数组长度
    格式:${#数组名[*或@]}

root@pts/1 $ echo ${#array1[@]}
6root@pts/1 $ echo ${#array2[*]}
3
  • 数组遍历

root@pts/1 $ for item in ${array2[@]}> do>     echo "The name is ${item}"> doneThe name is James
The name is Colin
The name is Harry
  • 数组元素赋值

格式:数组名[下标]=值,如果下标不存在,则新增数组元素; 下标已有,则覆盖数组元素值

root@pts/1 $ array1[2]=18root@pts/1 $ echo ${array1[*]}1 2 18 4 5 6root@pts/1 $ array2[4]="Betty"root@pts/1 $ echo ${array2[*]}
James Colin Harry Betty
  • 数组切片

格式:${数组名[*或@]:起始位:长度},截取部分数组,返回字符串,中间用空格分隔;将结果使用(),则得到新的切片数组

root@pts/1 $ echo ${array2[*]}James Colin Harry Bettyroot@pts/1 $ echo ${array2[*]:1:3}Colin Harry Bettyroot@pts/1 $ array3=(${array2[*]:1:2})ks-devops [~] 2018-01-25 20:30:16root@pts/1 $ echo ${array3[@]}Colin Harry
  • 数组元素替换

格式:${数组名[*或@]/查找字符/替换字符}, 不会修改原数组;如需修改的数组,将结果使用“()”赋给新数组

root@pts/1 $ echo ${array2[*]}
James Colin Harry Betty
root@pts/1 $ echo ${array2[*]/Colin/Colin.Liu}
James Colin.Liu Harry Betty

root@pts/1 $ array4=(${array2[*]/Colin/Colin.liu})
root@pts/1 $ echo ${array4[*]}
James Colin.liu Harry Betty
  • 删除元素

格式:
unset 数组,清除整个数组;
unset 数组[下标],清除单个元素

root@pts/1 $ echo ${array2[*]}James Colin Harry Bettyroot@pts/1 $ echo ${array4[*]}James Colin.liu Harry Bettyroot@pts/1 $ unset array4
root@pts/1 $ unset ${array2[3]}root@pts/1 $ echo ${array2[*]}James Colin Harry Bettyroot@pts/1 $ echo ${array4[*]}root@pts/1 $



作者:全栈运维
链接:https://www.jianshu.com/p/ef34af972a92

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消