当前位置: 首页 > news >正文

shell bash---类似数组类型

0 Preface/Foreword

C/C++,Python,Java等编程语言,都含有数组类型,那么shell脚本是不是也有类似的语法呢?

1 类似数组类型

1.1 ()类似数组类型 

#! /bin/bashecho "Welcome to bash world!"
animals=('cat' 'dog' 'horse' 'mouse')
#get a specified element
echo ${animals[0]}#list all elements
echo ${animals[*]}
#list all elements
echo ${animals[@]}
#get the lenght of array
echo ${#animals[@]}
echo ${#animals[*]}echo =================================
echo $#
echo $*
echo $@echo ================================
echo $0
echo $1
echo $2
echo $?
echo =================================
echo $$
echo $!

运行结果如下所示

 

分析:animals变量

  • 是一个数组类型,通过()来表示
  • 里面的元素只能是字符串
  • 字符串自己用空格分隔

1.1.1 获取数组中元素

通过下标index获取。 

  • 第一个元素从下标0开始
  • index越界了,不会报错,只是该变量为空。
  • 如果下标为空,则会报错。(bad substitution

1.1.2 获取数组元素列表

 ${arrayName[*]} 

或者

${arrayName[@]}

1.1.3 获取数组长度 

 ${#arrayName[@]}

或者

 ${#arrayName[*]}

1.2 遍历数组(for循环) 

#! /bin/bashecho "Welcome to bash world!"
animals=('cat' 'dog' 'horse' 'mouse')echo "retrieve an array..."
count=0
for i in ${animals[*]}
dolet count+=1echo "count is:"$count
done

运行结果:

http://www.lryc.cn/news/485287.html

相关文章:

  • IIoT(Industrial Internet of Things,工业物联网)
  • 【C++】引用(reference)
  • 学习日记_20241115_聚类方法(层次聚类)
  • 安卓开发怎么获取返回上一级activity事件
  • 神经网络与Transformer详解
  • C语言之MakeFile
  • vue项目PC端和移动端实现在线预览docx、excel、pdf文件
  • FlinkSql读取kafka数据流的方法(scala)
  • .NET 9 中 IFormFile 的详细使用讲解
  • 使用阿里云远程访问 Synology Web Station 的指南
  • LlamaFactory介绍
  • vue 项目使用 nginx 部署
  • <项目代码>YOLOv8 玉米地杂草识别<目标检测>
  • Wxml2Canvas小程序将dom转为图片,bug总结
  • [ 网络安全介绍 3 ] 网络安全事件相关案例有哪些?
  • SpringMVC学习笔记(二)
  • 51c嵌入式~单片机合集2
  • JavaScript:浏览器对象模型BOM
  • Unity音频导入设置
  • 【数据分享】中国对外投资合作发展报告(2013-2023)
  • java8之Stream流
  • pipx安装提示找不到包
  • Codeforces Round 987 (Div. 2)(前四道)
  • PCB+SMT线上报价系统+PCB生产ERP系统自动化拼板模块升级
  • 微信小程序_小程序视图与逻辑_day3
  • kubesphere环境-本地Harbor仓库+k8s集群(单master 多master)+Prometheus监控平台部署
  • 【提高篇】3.3 GPIO(三,工作模式详解 上)
  • ‘视’不可挡:OAK相机助力无人机智控飞行!
  • javaScript交互补充(元素的三大系列)
  • 数据结构(基本概念及顺序表)