linux shell 数组建立及使用技巧
参考网址:http://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html
linux shell在编程方面比windows 批处理强大太多,无论是在循环、运算以及数据类型方面都是不能比较的。 下面是在数组方面一些操作的总结。
1、数组定义
[hadoop@Master ~]$ a=(1 2 3 4 5) [hadoop@Master ~]$ echo $a 1 |
一对括号表示是数组,数组元素用“空格”符号分割开。
2、数组读取与赋值
- 获取长度:
[hadoop@Master ~]$ echo ${#a[@]} |
用${#数组名[@或*]} 可以得到数组长度
- 读取:
[hadoop@Master ~]$ echo ${a[0]} |
用${数组名[下标]} 下标是从0开始 下标是:*或者@ 得到整个数组内容
- 赋值:
[hadoop@Master ~]$ a[1]=100 |
直接通过 数组名[下标] 就可以对其进行引用赋值,如果下标不存在,自动添加新一个数组元素。
- 删除:
[hadoop@Master ~]$ a=(1 2 3 4 5) [hadoop@Master ~]$ a=(1 2 3 4 5) |
直接通过:unset 数组[下标] 可以清除相应的元素,不带下标,清除整个数据。
3、特殊使用
- 分片:
[hadoop@Master ~]$ a=(1 2 3 4 5) |
直接通过 ${数组名[@或*]:起始位置:长度} 切片原先数组,返回是字符串,中间用“空格”分开,因此如果加上”()”,将得到切片数组,上面例子:c 就是一个新数据。
- 替换:
[hadoop@Master ~]$ a=(1 2 3 4 5) |
调用方法是:${数组名[@或*]/查找字符/替换字符} 该操作不会改变原先数组内容,如果需要修改,可以看上面例子即加括号赋值变成数组,重新定义数据。
linux shell 数组建立及使用技巧的更多相关文章
- 转:linux shell 数组建立及使用技巧
linux shell在编程方面比windows 批处理强大太多,无论是在循环.运算.已经数据类型方面都是不能比较的. 下面是个人在使用时候,对它在数组方面一些操作进行的总结. 1.数组定义 [che ...
- 转载-Linux Shell 数组建立及使用技巧
转载自:http://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html 如侵犯版权,请联系我删除 linux shell在编程方面比win ...
- Linux Shell数组常用操作详解
Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...
- linux shell 数组的使用
引言 在Linux平台上工作,我们经常需要使用shell来编写一些有用.有意义的脚本程序.有时,会经常使用shell数组.那么,shell中的数组是怎么表现的呢,又是怎么定义的呢?接下来逐一的进行讲解 ...
- Linux Shell 数组
shell 数组一般都是一维数组. 1. 数组的声明 declare -a arr 该命令将声明一个数组arr,实际上不声明也可以直接定义数组. 2. 数组的初始化 arr=(1 2 3):该命令定义 ...
- linux shell数组
from: http://www.jb51.net/article/34322.htm bash shell只支持一维数组,但参数个数没有限制. 声明一个数组:declare -a array(其实不 ...
- linux shell数组赋值方法(常用)
http://blog.csdn.net/shaobingj126/article/details/7395161 Bash中,数组变量的赋值有两种方法: (1) name = (value1 ... ...
- Linux shell —— 数组与关联数组
使用 declare -A(declare 的用法请使用 help 进行查看,help declare) 进行声明关联数组变量: $ declare -A fruits_price $ fruits_ ...
- linux shell实用常用命令
本文主要介绍Linux Shell的一些使用小技巧收集,非常实用,需要的朋友可以参考下. 查看本机某端口是否被占用 netstat -anpt | grep 22 查看远程某端口是否被开放 echo ...
随机推荐
- C#数据库发布与连接
1. 打开相关的服务 在控制面板,打开或关闭Windows特性里面,启动相关的ASP.NET相关服务,并启用IIS Manager 2. 发布应用 3. 添加应用 在Administer tools里 ...
- Spring Bean的ref属性和IoC注入集合
这是一个Demo 1.Phone.java package com.cn.pojo; public class Phone { private String name; private double ...
- 学院派福利——C#+SQL Server图书管理系统
这是sql server的第七.八次上机内容,抽了几天时间给做了 在原有的booksDB库中加了一个Admin表:UserName:root,PassWord:123456. 环境:Visual St ...
- 使用二分查找判断某个数在某个区间中--如何判断某个IP地址所属的地区
一,问题描述 给定100万个区间对,假设这些区间对是互不重叠的,如何判断某个数属于哪个区间? 首先需要对区间的特性进行分析:区间是不是有序的?有序是指:后一个区间的起始位置要大于前一个区间的终点位置. ...
- ext.net gridlist选择内部元素时自动选择所在行
function changeSelection(id) { var index = 0; for (var i = 0; i < mcp_liststore.data.length; i++) ...
- 27. Spring Boot 缓存注解详解: @Cacheable、@CachePut、 @CacheEvict、@Caching、@CacheConfig
1.使用OGNL的命名规则来定义Key的值 @Cacheable(cacheNames = {"user"},key = "#root.methodName + '[' ...
- pyqt5-定时器
定时器的操作方法有两种: 方法一:利用每个对象包含的timerEvent函数 方法二:利用定时器模块 需要 from PyQt5.QtCore import QTimer 方法一:利用每个对象 ...
- 异步Async
1.c#异步介绍 异步必须基于委托,有委托才有异步 新建一个window Form程序MyAsync,添加一个按钮,(name)=btnAsync 后台代码如下: using System;using ...
- Vue & webpack
在webpack构建的项目中使用vue进行开发 在入口文件中 import Vue from 'vue' 导入的构造函数,功能不完整,只提供了runtime-only的方式,并没有提供网页中那样的使用 ...
- 围在栅栏中的爱WriteUp(附QWE密码加解密脚本)
题目的链接:http://www.shiyanbar.com/ctf/1917 1.首先题目给出的是摩尔斯电码: 在下面的网站上解密:https://www.cryptool.org/en/cto-c ...