linux shell中的语法和普通编程语言 c/c++  java 的不太一样,平时用的不多,所以总是记不住,写脚本才会去查怎么用。今天突然被问到数组怎么去遍历。平时写shell脚本也经常遍历数组,但是一下没答上来,被鄙视了。所以平时学习还是好好总结吧,不能每次都问度娘谷爷。IT 知识体系较为庞大,细节的东西也太多,平时遇到问题应该的多总结记笔记。

linux 中定义一个数据的语法为:

variable=(arg1 arg2 arg3 ....)

中间用空格分开。数组的下标从0开始。

1  获取下标为n的元素:

variable[n]

而且不存在数组下标溢出的情况,如果 n>= 数组的长度,那么为空,不会报错。

2  获取数组长度

${#variable[@]}

或者

${#variable[*]}

那么如何用for遍历呢?一共有两种方式:

1 for i in ${variable[@]}; do

# do something....

done

2 for i in $(seq 0 ${#variable[@]}); do

e=${variable[$i]}

# do something....

done

以上两种方法 把 @ 换成 * 也行。

linux shell 中数组的定义和for循环遍历相关推荐

  1. Linux shell 中的数组和关联数组

    写在前面的话 我用开始废柴了,这个又是写给我自己看的了. 普通数组 1.数组的定义 在Linux shell中定义一个普通的数组很简单,首先我们先给数组命名(当然要符合所有的命名规则咯).定义数组的一 ...

  2. linux shell $0怎么输出,linux shell中$0,$?,$!等的特殊用法

    一.Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义说明 (1)$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号) (2)$! Shell最后运行的后台Pr ...

  3. linux的shell的功能,linux shell中${ }的一些特异功能

    linux shell中${ }的一些特异功能,这部分内容是shell中的比较经典的部分之一,建议认真学习,深刻体会. 假设我们定义一个变量为: file=/dir1/dir2/dir3/my.fil ...

  4. linux shell之数组

    数组的定义 何为数组?学过计算机编程语言的同学都知道,数组的特性就是一组数据类型相同的集合(不包括有一些编程语言提出来的关联数组的概念).那么shell中数组是怎么定义的呢,我们来看两种数据类型:一是 ...

  5. linux shell数学计算器,技术|使用 GNU bc 在 Linux Shell 中进行数学运算

    在 shell 中使用 bc 更好地做算数,它是一种用于高级计算的数学语言. 大多数 POSIX 系统带有 GNU bc,这是一种任意精度的数字处理语言.它的语法类似于 C,但是它也支持交互式执行语句 ...

  6. linux文件的定义变量的值,linux shell 自定义函数方法(定义、返回值、变量作用域)...

    一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带functi ...

  7. Linux shell中的一个问题 ${}带正则匹配的表达式

    目前在准备龙芯项目的PMON,在研究其编译过程的时候,看到一些make 语句,百思不得其解.后来在shell编程中看到一点资料,牵扯到Shell中的正则表达式.故记录下来,以备后来查阅. 问题: 在某 ...

  8. linux中bc用法英文,使用GNU bc在Linux Shell中进行数学运算

    在 shell 中使用 bc 更好地做算数,它是一种用于高级计算的数学语言. 大多数 POSIX 系统带有 GNU bc,这是一种任意精度的数字处理语言.它的语法类似于 C,但是它也支持交互式执行语句 ...

  9. linux shell bin sh,linux shell中#bin/sh的理解

    摘要 腾兴网为您分享:linux shell中#bin/sh的理解,支付旭尊,小熊到家,天天美剧,淘金宝等软件知识,以及维棠flv视频软件,usb抓包工具,红警2无敌,ucbug造梦西游4,壁纸工作室 ...

最新文章

  1. android layerlist bitmap,android – 在LayerListDrawable中更改Bitmap Drawable
  2. 如何改变Redis用不好的误区
  3. Shell基础知识(三)
  4. C4C Product Price List的模型中和有效期相关的两个字段
  5. 分布式查询处理和优化相关知识介绍
  6. vbs关不掉的计算机窗口,恶搞之关不掉的窗口.vbs脚本
  7. 变态的儿童国学教育与孔子真正的教育之道
  8. html的各种基本标签 fylong,HTML:text标签不工作
  9. html5站点是什么意思,html5是什么意思(html5是什么技术)
  10. java集合-TreeSet排序方式
  11. VB6.0数据库访问技术与例程解析Java教程
  12. 蓝牙(简单的通信连接)
  13. python 7-1 输出星期名缩写 (10分)
  14. 华为荣耀play3分辨率_华为全新国行原封报价
  15. SDL[代码审计方案]
  16. 解决方案产品化?如何执行
  17. (三)苏世民:我的经验和教训:追梦(3)
  18. 什么是生产管理?制造企业想要做好生产管理应该怎么做?
  19. 快速编写三级联动小demo
  20. 部署zinnia的问题

热门文章

  1. python 正方教务管理系统抢课脚本(仅供学习)
  2. 【后续还会补充】Sublime Text 4 常用插件安装及配置方法
  3. 本周运气大爆发~希望不会把自己的好运都用光了……
  4. 彻底删除oracle数据,彻底删除Oracle数据库的方法
  5. OpenGL--多边形偏移
  6. 达人评测 i5 1155G7和i5 1135G7的差距大不大
  7. C/C++语言ODBC连接SqlServer数据库
  8. Python「PIL」:调整图片大小
  9. 【js】判断时间段之间是否有重叠
  10. 微信小程序绘制二维码