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

shell bash---类似数组类型

0 Preface/Foreword

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

1 类似数组类型

1.1 ()类似数组类型 

#! /bin/bash

echo "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/bash

echo "Welcome to bash world!"
animals=('cat' 'dog' 'horse' 'mouse')

echo "retrieve an array..."
count=0
for i in ${animals[*]}
do
	let count+=1
	echo "count is:"$count
done

运行结果:


http://www.kler.cn/a/400356.html

相关文章:

  • 网页作业9
  • SpringBoot中Maven的定义及国内源配置教程,实现自动获取Jar包
  • PyTorch数据集方法
  • 前端基础(四十一):实时获取麦克风音量
  • 华为ensp实验二--mux vlan的应用
  • 场景营销在企业定制开发 AI 智能名片 S2B2C 商城小程序中的应用与价值
  • Spring Boot中集成Redis与MySQL
  • npm上传自己封装的插件(vue+vite)
  • 【青牛科技】带 ALC 双通道前置放大器电路D3308
  • sql中in()方法查询参数过多处理小记
  • thinkphp6模板调用URL方法生成的链接异常
  • 【graphics】图形绘制 C++
  • SpringCloud OpenFeign负载均衡远程调用 跨服务调用 连接池优化
  • HP G10服务器ESXI6.7告警提示ramdisk tmp已满
  • 使用useCallback引发对闭包的理解
  • 轻量云服务器:入门级云计算的最佳选择
  • JavaScript 中字符串和数组的概念解析与多角度对比区分
  • Javaweb梳理17——HTMLCSS简介
  • 《操作系统 - 清华大学》4 -2:非连续内存分配:分页
  • Virtual.lab声学模态分析和响应计算
  • Win11专业版Docker安装、配置记录
  • Flink新版Source接口源码解析
  • 用Java反射(Reflection)解释Spring Boot 中依赖注入的原理
  • idea项目运行时 java: 错误: 不支持发行版本 21
  • 个人备忘录
  • shell中的case语句和循环语句