Shell数组
#!/bin/bash
#数组的使用
#数组赋值方式:
#1. user[index]=value index为0,1,2,3,4....数组下标值
#2. user=(value0 value1 value2....) 既user[n]=valuen
#3. user=([2]=value2 [1]=value1 [0]=value0) 指定数组数据方式赋值,顺序是 可以任意的
#4. user=([2]=value2 value3 valu4) 指定数组首地址开始赋值,后面数据依次累加
#从passwd 文件中取出所有用户
index=0 #数组从0开始 跟c/c++中数组的使用有些相同
for i in `cut -d: -f1 /etc/passwd`
do
user[$index]=$i
let index=$index+1 #let 相当于index = $(($index+1))
done
index=1
#取数组数据值:
# ${ user[index] }没有指定索引值既为数组首地址数据
# ${user[@]} 和 ${user[*]}表示数组全部数据区别在于
#当使用双引号"${user[@]}" "${user[*]}" 展开以后第一个是一个分散的列表,*是一个整体 ,去掉双引号两个表达式效果一样无差别。
for name in " ${user[@]} "
do
echo " $index:$name"
let index=$index+1 #也可以 let index+=1
done
echo "--------------------------------------------"
echo " print all user in one line:"
echo
#把所有数组元素作为一个整体打印
echo "${user[*]}"
#把数组元素作为单个的个体进行打印
#echo ${user[@]}
#echo ${user[*]}
echo
echo "------------------------------------------------"
echo "Reassign the user array , the user names will be lost:"
user=([50]=zhangze , emma , patrick )
echo
echo ${user[*]}
echo
exit 0
Shell数组的更多相关文章
- Linux Shell 数组
shell 数组一般都是一维数组. 1. 数组的声明 declare -a arr 该命令将声明一个数组arr,实际上不声明也可以直接定义数组. 2. 数组的初始化 arr=(1 2 3):该命令定义 ...
- shell--2.shell数组
shell 数组 (1)定义数组 shell中,用括号表示数组,数组元素用空格分开,定义数组的一般形式 arrt_name=(val1 val2 val3) 或者 arry_name=(val1 va ...
- Linux Shell数组常用操作详解
Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...
- Shell数组例子
Shell数组例子 循环打印数组,并统计数组的个数: [root@slavedb array]# cat a.sh #!/bin/bash array=( freddy freddie tang sh ...
- Shell数组的增删改查
Shell数组的增删改查 shell数组的定义及取值: a=(1 2 3) [root@bogon tmp]# echo ${a[*]} 1 2 3 [root@bogon tmp]# echo $ ...
- 教你使用shell数组
数组的使用,需要掌握 1.对数组进行赋值 2.通过下标访问数组元素 3.循环遍历所有的元素 代码如下: #!/bin/bash a="39" b="5" c=& ...
- linux shell数组
from: http://www.jb51.net/article/34322.htm bash shell只支持一维数组,但参数个数没有限制. 声明一个数组:declare -a array(其实不 ...
- Shell 数组定义与获取
Shell 数组 bash支持一维数组(不支持多维数组),并且没有限定数组的大小. 类似与 C 语言,数组元素的下标由 0 开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于 ...
- 【Linux】shell数组
一.概念 shell数组就是一个元素集合,它把有限个元素用一个名字来命名,然后用编号对他们分区.这个名字称为数组名,用于区分不同内容的编号称为数组的下标. 二.shell数组的定义与增删改查 1.sh ...
- shell 数组,双层循环打印变量
双层循环,打印循环执行次数. 特别注意 ,shell 脚本赋值时 '=' 两侧不能有空格,否则报错,shell command not found 但在if 语句中需要有: STR1="ab ...
随机推荐
- HTML5 中的一些新特性
HTML5是HTML最新的修订版本,包含了新的标签元素,属性和行为,同时包含了一系列可以被用来让 Web 站点和应用更加多样化,功能更强大的技术.HTML5实现了不依赖flash插件播放视频,而且引入 ...
- lock语句的递归问题
原文地址 前几天在网上闲逛,无意中看到有这么一道题及其答案,如下: 根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由. ) { i--; tes ...
- Rational Rose 2007 &Rational Rose 2003 下载及破解方法和汉化文件下载
这么好的东西,不拿来出分享,我对不起原作者呀.可是我这里不知道作者是谁,感谢在先了. ed2k://|file|%5BIBM%E8%BD%AF%E4%BB%B6%E7%B3%BB%E5%88%97%5 ...
- ios的@property属性和@synthesize属性
当你定义了一系列的变量时,需要写很多的getter和setter方法,而且它们的形式都是差不多的,,所以Xcode提供了@property 和@synthesize属性,@property用在 .h ...
- SecureCRT 中 python 命令行使用退格键(backspace)出现 ^H 解决办法
选项-->会话选项-->映射键 勾选"其他映射"中的两个选择框
- IPv6 neighbor discovery
IPv6 neighbor discovery By stretch | Thursday, August 28, 2008 at 5:03 a.m. UTC Neighbor Discovery P ...
- 【Unicode】字符编码表信息
UTF-8有点类似于Haffman编码,它将Unicode编码为:0x00-0x7F的字符,用单个字节来表示:0x80-0x7FF的字符用两个字节表示:0x800-0xFFFF的字符用3字节表示: ...
- 2. shell之shell配置文件
1. shell配置文件的位置 最常用的shell有sh和bash等,此处只讲sh和bash 1.1. sh(Bourne Shell)配置文件主要有两个,分别为每个用户主目录中的.profile文件 ...
- delta simulation time[(delta cycle), (delta delay)]
"Delta cycles are an HDL concept used to order events that occur in zero physical time."si ...
- MySQL的链接,查看数据库,使用数据库,查看表
MySQL的链接,查看数据库,使用数据库,查看表 mysql> show databases; +--------------------+ | Database | +------------ ...