欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > shell bash---类似数组类型

shell bash---类似数组类型

2025/2/23 7:17:09 来源:https://blog.csdn.net/yanlaifan/article/details/143809770  浏览:    关键词: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

运行结果:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词