定义:  array=(1 2 3)

echo ${array[0]}

echo ${array[1]}

echo ${array[2]}

echo ${array[*]}   所有元素

echo ${array[@]}   数组的长度

数组赋值

array=(1 2 3)   此时数组中有3个元素

array[3]=4       此时数组中为4个元素

删除

unset array[0]  删除了第0个元素

截取

array=(1 2 3 4 5)

${array[@]:1:3}   截取1号到3号

结果2 3 4

echo ${array[@]:3:2}

结果4 5

array=( [0]=one [1]=two [2]=three [3]=four )
${array[@]:1} # two three four,除掉第一个元素后所有元素,那么${array[@]:0}表示所有元素
${array[@]:0:2} # one two
${array[@]:1:2} # two three

数组替换

echo ${array[@]/5/6}   把数组中5替换成6,临时生效,元素族未被修改

结果 1 2 3 4 6

将结果变为数组

array=($(ls))

打印

所有元素  ${array[@]}或者${array[*]}

数组长度  ${#array[@]}或者${#array[*]}

单个元素  ${array[i]}

使用数组的一个例子,

                                gamelist=${PWD}/gamelist
for pid in `awk '{print $7}' $gamelist`
do
pingtai=`awk '/\<'''$pid'''\>/{print $4}' $gamelist`
daqu=`awk '/\<'''$pid'''\>/{print $6}' $gamelist`
destdir=${pingtai}cq_lycqly_s$daqu
dbname=${pingtai}cq_s$daqu
dbip=`awk '/\<'''$pid'''\>/{print $5}' $gamelist`
array=($(awk '/\<'''$pid'''\>/{print}' $gamelist))
for i in {..}
do
lanip=`echo ${array[i]}|cut -d: -f1`
port=`echo ${array[i]} |cut -d: -f2`
echo ${array[*]}
echo ---------------------------------------------------------------
# array=($(echo ${array[@]:}))
echo $lanip
echo --------------------------------------------------------------
echo $port
done
done

shell数组的使用的更多相关文章

  1. Linux Shell 数组

    shell 数组一般都是一维数组. 1. 数组的声明 declare -a arr 该命令将声明一个数组arr,实际上不声明也可以直接定义数组. 2. 数组的初始化 arr=(1 2 3):该命令定义 ...

  2. shell--2.shell数组

    shell 数组 (1)定义数组 shell中,用括号表示数组,数组元素用空格分开,定义数组的一般形式 arrt_name=(val1 val2 val3) 或者 arry_name=(val1 va ...

  3. Linux Shell数组常用操作详解

    Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...

  4. Shell数组例子

    Shell数组例子 循环打印数组,并统计数组的个数: [root@slavedb array]# cat a.sh #!/bin/bash array=( freddy freddie tang sh ...

  5. Shell数组的增删改查

    Shell数组的增删改查 shell数组的定义及取值: a=(1 2 3) [root@bogon tmp]# echo ${a[*]}  1 2 3 [root@bogon tmp]# echo $ ...

  6. 教你使用shell数组

    数组的使用,需要掌握 1.对数组进行赋值 2.通过下标访问数组元素 3.循环遍历所有的元素 代码如下: #!/bin/bash a="39" b="5" c=& ...

  7. linux shell数组

    from: http://www.jb51.net/article/34322.htm bash shell只支持一维数组,但参数个数没有限制. 声明一个数组:declare -a array(其实不 ...

  8. Shell 数组定义与获取

    Shell 数组 bash支持一维数组(不支持多维数组),并且没有限定数组的大小. 类似与 C 语言,数组元素的下标由 0 开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于 ...

  9. 【Linux】shell数组

    一.概念 shell数组就是一个元素集合,它把有限个元素用一个名字来命名,然后用编号对他们分区.这个名字称为数组名,用于区分不同内容的编号称为数组的下标. 二.shell数组的定义与增删改查 1.sh ...

  10. shell 数组,双层循环打印变量

    双层循环,打印循环执行次数. 特别注意 ,shell 脚本赋值时 '=' 两侧不能有空格,否则报错,shell command not found 但在if 语句中需要有: STR1="ab ...

随机推荐

  1. spring中classpath

    http://blog.csdn.net/wlwlwlwl015/article/details/48134763 Maven 项目的 classpath 理解 applicationContext. ...

  2. Apache Flume 学习笔记

    # 从http://flume.apache.org/download.html 下载flume ############################################# # 概述: ...

  3. 使用vector<vector<int>>实现的一个二维数组

    本文为大大维原创,最早于博客园发表,转载请注明出处!!! 1 #include<iostream> #include<vector> using namespace std; ...

  4. ubuntu 部署 wiki.js

    1. 安装node  (还是官网的东西靠谱,虽然是english)  https://github.com/nodesource/distributions/blob/master/README.md ...

  5. java.lang.ClassNotFoundException的解决方法

    java.lang.ClassNotFoundException的解决方法   出现这个问题的原因可能很多,但是最终原因都是部署的项目文件中没有这个类包. 那么出错的点在哪呢?逐一排除! 1.首先在项 ...

  6. Golang基础之函数

    golang基础之函数 1.为什么需要函数? 有些相同的代码可能出现多次,如果不进行封装,那么多次写入到程序中,会造成程序冗余,并且可读性降低 2.什么是函数 为完成某些特定功能的程序指令集合称为函数 ...

  7. 超级简单的数据压缩算法—LZW算法

    1. 前文回顾 在字符串算法—数据压缩中,我们介绍了哈夫曼压缩算法(Huffman compression),本文将介绍LZW算法. 2. LZW算法 这个算法很简单,为了方便讲述,我们将采用16进制 ...

  8. SpringAOP 注解方式

    Spring-service-mvc.xml <context:component-scan base-package="com.restful.controller,com.rest ...

  9. 【mysql】工具使用

    mysql之workbench如何只导出(insert语句)数据 MySQL 编码:utf8 与 utf8mb4,utf8mb4_unicode_ci 与 utf8mb4_general_ci htt ...

  10. Synchronized 有几种用法?

    我们都知道 Synchronized 是线程安全同步用的,大部分程序可能只会用到同步方法上面.其实 Synchronized 可以用到更多的场合. 1.同步普通方法(锁实例对象) 这个也是我们用得最多 ...