在Bash脚本中创建和使用数组方法总结
在Bash中定义一个数组
有两种方法可以在bash脚本中创建新数组。第一个是使用declare命令来定义一个Array。此命令将定义名为test_array的关联数组。
$ declare -a test_array
还可以通过分配元素来创建数组。
$ test_array=(apple orange lemon)
访问数组元素
与其他编程语言类似,bash数组元素可以使用索引号从0开始,然后从1、2、3…n开始访问。这也适用于索引号为数字的关联数组。
$ echo ${test_array[0]}
apple
使用@或*而不是特定索引号打印数组的所有元素。
$ echo $ {test_array [@]}
apple orange lemon
通过数组循环
还可以使用bash脚本中的循环访问数组元素。循环对于逐个遍历所有数组元素并对其执行一些操作非常有用。
for i in ${test_array[@]}
do
echo $i
don
向数组中添加新元素
可以使用(+=)操作向现有数组添加任意数量的元素。只需要添加新元素,如:
$ test_array+=(mango banana)
添加new后查看数组元素:
$ echo ${test_array[@]}
apple orange lemon mango banana
更新数组元素
要更新数组元素,只需通过索引将任何新值分配给现有数组。让我们用grapes更改索引2处的当前数组元素。
$ test_array[2]=grapes
添加新元素后查看数组元素:
$ echo ${test_array[@]}
apple orange grapes mango banana
删除数组元素
可以使用索引号简单地删除任何数组元素。以下是从bash脚本中的数组中删除索引2处的元素。
$ unset test_array [2]
添加新元素后查看数组元素:
$ echo ${test_array[@]}
apple orange mango banana
相关推荐
-
Bash中数组的操作教程
前言 BASH只支持一维数组,但参数个数没有限制. 如声明一个数组: declare -a array (其实不用声明,按数组方式直接赋值给变量即可,BASH就知道那是数组) 一.定义数组 1. 使用[]操作符 names[0]='zrong' names[1]='jacky' 2. 使用()直接赋值 names=('zrong' 'jacky') # 或 names=([0]='zrong' [1]='jacky') 3. 使用declare -a定义数组.这种方法可以将一个空的变量定义成数组
-
在Bash脚本中创建和使用数组方法总结
在Bash中定义一个数组 有两种方法可以在bash脚本中创建新数组.第一个是使用declare命令来定义一个Array.此命令将定义名为test_array的关联数组. $ declare -a test_array 还可以通过分配元素来创建数组. $ test_array=(apple orange lemon) 访问数组元素 与其他编程语言类似,bash数组元素可以使用索引号从0开始,然后从1.2.3-n开始访问.这也适用于索引号为数字的关联数组. $ echo ${test_array[0
-
bash脚本中if语句的使用方法
除了 "if,else" 形式之外,还有其它形式的 "if" 语句: 复制代码 代码如下: if [ condition ]then actionfi 只有当 condition 为真时,该语句才执行操作,否则不执行操作,并继续执行 "fi" 之后的任何行. 复制代码 代码如下: if [ condition ]then actionelif [ condition2 ]then action2...elif [ condition3 ]then
-
Linux 在Bash脚本中怎么关闭文件描述符的实例
Linux 在Bash脚本中怎么关闭文件描述符的实例 在写一个Bash脚本的时候碰到一个问题,这个脚本是用来启动一个程序B的,而这个脚本又被另一个程序A调用,结果发现新启动的B进程中有很多A进 程打开的文件描述符(如Socket).因此决定在脚本中将它们关闭,因为为了简单起见,我在A程序中使用了system()来启动该脚本. 增加了关闭文 件描述符的脚本如下: #!/bin/sh cd $(dirname "$0") || exit 1 exec 3>&- exec 4&
-
Python中创建二维数组
二维数组 二维数组本质上是以数组作为数组元素的数组,即"数组的数组",类型说明符 数组名[常量表达式][常量表达式].二维数组又称为矩阵,行列数相等的矩阵称为方阵.对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素. Python中创建二维数组 Python中的列表list可以当做一维数组使用,但是没有直接的定义使用二维数组.如果直接使用a = [][]会产生SyntaxError: invalid syntax语法不正确错误. 一般Python中创建二
-
在Bash脚本中引入alias的方法
alias的使用 在日常开发中,为了提高运维效率,我们会用alias(命令别名)来定义命令的简称.比如在~/.bash_profile中添加: alias ll='ls -lrt --color' alias bdebug="go build -gcflags '-N -l'" alias py3='/usr/bin/python3' 执行source ~/.bash_profile之后,这些alias定义便载入到当前终端环境中,我们可以通过alias <cmd>进行查看
-
在nodejs中创建child process的方法
简介 nodejs的main event loop是单线程的,nodejs本身也维护着Worker Pool用来处理一些耗时的操作,我们还可以通过使用nodejs提供的worker_threads来手动创建新的线程来执行自己的任务. 本文将会介绍一种新的执行nodejs任务的方式,child process. child process lib/child_process.js提供了child_process模块,通过child_process我们可以创建子进程. 注意,worker_threa
-
C# 在PDF文档中创建表格的实现方法
表格能够直观的传达数据信息,使信息显得条理化,便于阅读同时也利于管理.那在PDF类型的文档中如何来添加表格并且对表格进行格式化操作呢?使用常规方法直接在PDF中添加表格行不通,那我们可以在借助第三方组件的情况下来实现.本篇文章中将介绍如何正确使用组件Free Spire.PDF for .NET添加表格到PDF.该组件提供了两个类PdfTable和PdfGrid用于创建表格,在进行代码编辑前,需先安装,添加Spire.PDF. dll到项目程序集中,同时添加到命名空间.下面是两种方法来添加表格的
-
Java中创建ZIP文件的方法
java创建zip文件的代码如下如下: import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; public cla
-
Shell中创建序列和数组(list、array)的方法
关于linux数组定义,以及生成方法,请看:linux shell 动态生成 数组系列 seq使用技巧 .这里我主要说的是高效生成list 字符串,还有数组方法. 一.seq方法生成: [chengmo@centos5 shell]$ aNumList=$(seq 100); [chengmo@centos5 shell]$ echo $aNumList 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
-
Shell脚本中获取进程ID的方法
提问: 我想要知道运行中脚本子shell的进程id.我该如何在shell脚本中得到PID. 当我在执行shell脚本时,它会启动一个叫子shell的进程.作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为"批处理进程"). 在某些情况下,你也许想要知道运行中的子shell的PID.这个PID信息可以在不同的情况下使用.比如,你可以使用shell脚本的PID在/tmp下创建一个唯一的临时文件.有时侯脚本需要检测所有运行的进程,它可以从进程列表中排除自身
随机推荐
- 基于jQuery实现滚动刷新效果
- spring boot配合前端实现跨域请求访问
- 简单了解Java编程中线程的创建与守护线程
- JS组件Bootstrap实现图片轮播效果
- Android开发中的数据库事务用法分析
- php生成图片验证码的方法
- JavaScript html5 canvas绘制时钟效果(二)
- Java垃圾回收finalize()作用详解
- Android中使用pull解析器操作xml文件的解决办法
- mssql中获取指定日期所在月份的第一天的代码
- javascript背景时钟实现方法
- js实现div拖动动画运行轨迹效果代码分享
- 常去(用)滴地方
- Java设计模式之策略模式详解
- C#如何将Access中以时间段条件查询的数据添加到ListView中
- 在ASP.NET 2.0中操作数据之三十六:在DataList里编辑和删除数据概述
- Android 广播监听网络状态详解及实例代码
- Python3进制之间的转换代码实例
- Java使用TCP套接字实现多人聊天功能详解
- vue2.0 自定义组件的方法(vue组件的封装)