shell 脚本 有关联数组吗?

sh/bash/dash/ksh/zsh等Shell脚本
回复
bellszhu
帖子: 108
注册时间: 2010-12-18 19:46

shell 脚本 有关联数组吗?

#1

帖子 bellszhu » 2011-04-23 22:16

比如
photo[jack]=1234
photo[tom]=2345

能这样吗??
我在测试的时候 用 echo ${photo[jack]} 和 echo ${photo[tom]} 怎么都输出 2345呢??
keep the faith
头像
Ubuntu与Linux
帖子: 1211
注册时间: 2010-06-09 19:57

Re: shell 脚本 有关联数组吗?

#2

帖子 Ubuntu与Linux » 2011-04-23 22:50

photo[jack]=1234
等于 photo=1234
头像
sunfish
帖子: 989
注册时间: 2008-05-03 1:53

Re: shell 脚本 有关联数组吗?

#3

帖子 sunfish » 2011-04-23 22:53

bash脚本里数组下标是固定的,从0开始,不限个数,允许空元素。下标就是0,1,……

你的这个问题估计是bash把[...]的内容忽略了

awk好像可以使用字母下标,也可以使用遍历数组方法:
for i in array
你可以查一下
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: shell 脚本 有关联数组吗?

#4

帖子 lilydjwg » 2011-04-23 23:24

sunfish 写了:bash脚本里数组下标是固定的,从0开始,不限个数,允许空元素。下标就是0,1,……

你的这个问题估计是bash把[...]的内容忽略了

awk好像可以使用字母下标,也可以使用遍历数组方法:
for i in array
你可以查一下
不是好像,是就是。awk 里的数组和 PHP 的差不多的。
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: shell 脚本 有关联数组吗?

#5

帖子 fanhe » 2011-04-24 20:50

也就是字典吧,也就是hash表
印象中,好像没有

不要对shell有过多的要求了,主要还是用于自动化一些事务
pangding
帖子: 48
注册时间: 2011-03-01 23:14

Re: shell 脚本 有关联数组吗?

#6

帖子 pangding » 2011-04-30 19:33

有,要先声明一下,不然好像默认是下标数组。

代码: 全选

$ declare -A photo
$ photo[a]=a
$ photo[b]=b
$ echo ${photo[a]} ${photo[b]}
a b
你可以自己

代码: 全选

$ help declare
看一下。
bellszhu
帖子: 108
注册时间: 2010-12-18 19:46

Re: shell 脚本 有关联数组吗?

#7

帖子 bellszhu » 2011-05-02 23:25

谢谢6楼的兄弟!
keep the faith
回复