Linux中数组的应用~~~~
来源:互联网 发布:网络爸爸 下载 编辑:程序博客网 时间:2024/06/01 10:45
今天我们来看看在Linux的数组:
首先,什么是数组(Array)呢?
Array:其实属组也是一个变量,不过它是一个可以保存多个值的变量。通过数组的索引和下标,去引用。
注意:数组中保存的一般都是同样类型的值,但是每个值却是独立的。可以被独立使用或管理。
那么如何初始化一个数组?
初始化方法①:单独初始化
names[2]=AAA 将AAA定义为数组names的第3个元素
names[0]=BBB 将BBB定义为属组中的第1个元素
这里我们发现了,数组都是从零开始编号的。一般声明属组的时候也可以直接从1开始,但是当你声明是1的时候,0其实是存在的。
初始化方法②:多个同时初始化:用一个小括号括起来!
names=([2]=AAA [0]=BBB [1]=CCC)
这样,则是直接定义了属组names的第3个元素为AAA,第1个元素为BBB,第2个元素为CCC
对于已经明确知道顺序的即将定义的属组,我们可以直接一次性多个同时初始化
names=(BBB CCC AAA)
则在这里,就是 数组的第1位置是BBB 第2位置是CCC,第三号位是AAA
对于排序的中间缺页的,如果想跳过,直接赋值后面的。则使用:
names=(AAA [5]=BBB CCC)
则,属组的1号是AAA 6号是BBB 7号是CCC
注意:跳过缺页只能跳过一次,跳过多次则不被识别。
初始化方法③:利用循环脚本一次性初始化
有时我们的属组需要是一个文件中的每一行,或者显示出来的每一个,那怎么办呢?
#!/bin/bash
let I=0
for FILE in `ls /var`; do
VARFILE[$I]=$FILE
let I++
done
我们利用这个脚本,则将“ls /var”下的每一个文件的名字都赋值在了数组VARFILE中
那么,当我们赋值之后,如何去将他调用出来呢?
拿初始化方法③的例子来说:
调用一个数组变量的时候要使用
echo ${VARFILE[0]} 因为我们要引用数组,而引用属组中的一个元素就要加中括号,表明我们要引用哪个,所以这里的数组变量必须要使用大括号。
如何去引用数组中的所有的值?
echo ${VARFILE[@]}
echo ${VARFILE[*]}
上面这两种方法都可以引用出一个属组的所有值,但是其中是有一定的小不同的。这个不同其实只要你将默认的间隔符改成非空格,就可以看出来了,在这里不做过多的说明。
echo ${#VARFILE[*]}
前面加#号,则显示组中的个数。
=================================================
好的,相信你差不多应该会使用数组了~那么我们来出一道题练习一下数组的使用吧!!
编写一个脚本,随机显示8个国家名称中的一个国家。
基本格式
let A=0
while [ $A -le 10 ];do
echo ${RANDOM%8}
let A++
done
- Linux中数组的应用~~~~
- JS中数组的应用
- 汇编语言中数组的应用
- shell中数组的应用
- 数组中指针的应用
- java中数组的应用
- java中数组的应用
- 关于游戏中数组的应用
- CODEDOM中创建多维数组的应用
- poj1961_KMP算法中next数组的应用
- WCF接口中数组的应用
- OpenSceneGraphic 着色器中数组的应用
- POJ2752 KMP中next数组的应用
- java中数组对象的应用
- goLang中数组的简单应用
- hdu1358 KMP中next数组的应用
- Linux中ifconfig的应用
- linux中gcc的应用
- 基于udp的网络编程socket的错误10054与SOCKET的发送与接收缓冲区的设置(udp丢包)
- 使用枚举和结构输出日期
- .Net中的DataTime类型 和 time_t类型转换
- EJB两种会话Bean的误解
- Activity 参数
- Linux中数组的应用~~~~
- 结构体大小总结!非常好的文章
- hibernate 映射文件 inverse 属性
- 套接字模型
- Java软件低级错误(十 八):忽略InputStream.skip()返回值的处理
- linux下wireshark安装和使用
- Java软件低级错误(十 七):对于Map元素的遍历使用entrySet还是KeySet?
- wireshark+教程 +合集下载: [复制链接]
- 编译/安装Wireshark