• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > Linux Shell 数组建立及使用技巧

Linux Shell 数组建立及使用技巧

作者:mrr 字体:[增加 减小] 来源:互联网

mrr 通过本文主要向大家介绍了linux shell 数组,linux shell 定义数组,linux shell脚本,linux shell编程,linux shell脚本攻略等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

linux shell在编程方面比windows 批处理强大太多,无论是在循环、运算。已经数据类型方面都是不能比较的。 下面是个人在使用时候,对它在数组方面一些操作进行的总结。

1.数组定义

[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo $a

一对括号表示是数组,数组元素用“空格”符号分割开。

2.数组读取与赋值

得到长度:

[chengmo@centos5 ~]$ echo ${
#a[@]}

用${#数组名[@或*]} 可以得到数组长度

读取:

[chengmo@centos5 ~]$ echo ${a[2]}
3
[chengmo@centos5 ~]$ echo ${a[*]}
1 2 3 4 5
用${数组名[下标]} 下标是从0开始 下标是:*或者@ 得到整个数组内容

赋值:

[chengmo@centos5 ~]$ a[1]=100
[chengmo@centos5 ~]$ echo ${a[*]}
1 100 3 4 5

[chengmo@centos5 ~]$ a[5]=100
[chengmo@centos5 ~]$ echo ${a[*]}
1 100 3 4 5 100

直接通过 数组名[下标] 就可以对其进行引用赋值,如果下标不存在,自动添加新一个数组元素

删除:

[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ unset a
[chengmo@centos5 ~]$ echo ${a[*]}
[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ unset a[1]
[chengmo@centos5 ~]$ echo ${a[*]}
1 3 4 5
[chengmo@centos5 ~]$ echo ${
#a[*]}
4

直接通过:unset 数组[下标] 可以清除相应的元素,不带下标,清除整个数据。

3.特殊使用

分片:

[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo ${a[@]:0:3}
1 2 3
[chengmo@centos5 ~]$ echo ${a[@]:1:4}
2 3 4 5
[chengmo@centos5 ~]$ c=(${a[@]:1:4})
[chengmo@centos5 ~]$ echo ${
#c[@]}
4
[chengmo@centos5 ~]$ echo ${c[*]}
2 3 4 5

直接通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串,中间用“空格”分开,因此如果加上”()”,将得到切片数组,上面例子:c 就是一个新数据。

替换:

[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo ${a[@]/3/100}
1 2 100 4 5
[chengmo@centos5 ~]$ echo ${a[@]}
1 2 3 4 5
[chengmo@centos5 ~]$ a=(${a[@]/3/100})
[chengmo@centos5 ~]$ echo ${a[@]}
1 2 100 4 5

调用方法是:${数组名[@或*]/查找字符/替换字符} 该操作不会改变原先数组内容,如果需要修改,可以看上面例子,重新定义数据。

以上内容是小编给大家介绍的linux shell 数组建立及使用技巧,希望对大家有所帮助。

</div>

您可能想查找下面的文章:

  • Linux在shell中自动生成1到100的数组方法(两种方法)
  • linux shell实现求一个多维数组中的最大和最小值
  • Linux Shell 数组建立及使用技巧
  • Linux Shell 数组的创建及使用技巧
  • shell数组操作简明总结
  • shell数组常用实例分享

相关文章

  • awk中让人郁闷的system()函数
  • Linux常用命令全集(超全面)
  • 用于检测进程的shell脚本代码小结
  • awk中NR和FNR的区别小结和实例演示
  • linux查看目录的四种方法(ls只显示目录)
  • linux压缩常用命令小结
  • linux自动重启tomcat脚本分享
  • 如何调试Linux shell脚本
  • Shell脚本编程之判断语句
  • linux链接编译详解

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 使用Linux shell脚本实现FTP定时执行批量下载指定文件
    • 把文件复制N份的2个Shell脚本代码
    • Linux Shell 数组建立及使用技巧
    • rsync结合find技巧分享
    • shell遍历目录处理特定目录的脚本代码
    • Shell脚本实现分析apache日志中ip所在的地区
    • Linux Shell脚本系列教程(三):变量和环境变量
    • linux shell脚本基础知识学习
    • Shell脚本中判断输入变量或者参数是否为空的方法
    • Shell脚本遍历目录并批量修改文件编码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有