ChinaUnix.net
相关文章推荐:

bash 数组赋值

遇到一个奇怪的问题,如下是读取当前目录下的文件和目录,并把它存放到数组中, #!/bin/bash x=0 for i in `ls -l` do a[$x]="$i" x=`expr ${x} + 1` done echo ${a[@]} 奇怪的是在其他版本的系统中是可以正常运行的..我的环境就不行.为Ubuntu 8.04.4 LTS 报错信息为: test.sh: 8: a[0]=abc: not found ....... test.sh: 8: a[153]=book: not found test.sh: 9: Bad substitution 所有的赋值好像看上去都已经可以,就是报 not found...

by china_u - Shell - 2010-11-15 16:43:54 阅读(5398) 回复(3)

相关讨论

[code]~/temp$ ls -Q *.txt "a b.txt" "a.txt" "readme.txt" ~/temp$ file=(`ls -Q *.txt`) ~/temp$ echo ${file[0]} "a #错误 ~/temp$ file=("a b.txt" "a.txt" "readme.txt") #和 file=(`ls -Q *.txt`)差别在哪? ~/temp$ echo ${file[0]} a b.txt 正确 [/code]

by cao627 - Shell - 2013-05-04 14:47:04 阅读(1394) 回复(3)

我想通过管道做一系列处理最后得到的字符串赋值给一个变量,但是我在var="${str=expr}"里面使用管道,bash说参数过多,求教如何搞定?

by J_O_H_N - Shell - 2011-11-09 15:01:59 阅读(4866) 回复(11)

比如说变量 a 内容是 b=1 如何得到变量 b? 自己回答:就是 eval $a [ 本帖最后由 ustctapper 于 2009-5-6 20:46 编辑 ]

by ustctapper - Shell - 2009-05-06 20:32:08 阅读(1238) 回复(1)

$ echo $bash_VERSION 4.2.37(1)-release 现在我弄一个数组出来:[code]foo=(A B C) [/code],这样子不用声明就自然形成一个数组,于是在没有改变IFS默认值的情况下,可以如此取出各个元素的值:[code]echo ${foo[0]}[/code]A[code]echo ${foo[1]}[/code]B[code]echo ${foo[2]}[/code]C 上面说的是最普通的方式,下面是我有疑问的地方。 我现在有一个文件a.txt,内容是 D E F 现在我把这个文件的内容以这样的方式赋值给一个变量...

by mystérieux - Shell - 2013-01-28 11:04:57 阅读(3041) 回复(22)

有个文件如下:[code]cat makelib.ini src/pub/libpara libpara src/pub/libpub libpub sss src/pub/db_public_lib db_public_lib src/pub/libring_buf libring_buf src/pub/libring_buf libring_buf_nolog src/pub/logger liblogger src/pub/libtableout libtableou...

by mpstat - Shell - 2011-06-20 15:42:57 阅读(2479) 回复(5)

$ array[1.2.3.4]=10 -bash: 1.2.3.4: syntax error in expression (error token is ".2.3.4") 我有多个ip,要进行赋值存到数组中,上面的方式不行,需要怎么赋值才行,请教

by 泛泛之辈 - Shell - 2009-12-20 11:38:00 阅读(1874) 回复(6)

bash 数组用法小结 【小蜗牛五二无聊之作 】 bash只支持一维数组,但参数个数没有限制。 声明一个数组: declare -a array (其实不用声明,按数组方式直接赋值给变量即可,bash就知道那是数组) 数组赋值: (1) array=(var1 var2 var3 ... varN) (2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN) (3) array[0]=var1 arrya[1]=var2 ... array[n]=varN 计算数组元素个数: ${#array[@]} 或者...

by snowtty - Linux文档专区 - 2009-07-09 21:31:12 阅读(1304) 回复(0)

【小蜗牛五二无聊之作 】 bash只支持一维数组,但参数个数没有限制。 声明一个数组: [color="#ff1493"]declare -a array (其实不用声明,按数组方式直接赋值给变量即可,bash就知道那是数组) 数组赋值: [color="#ff1493"](1) array=(var1 var2 var3 ... varN) [color="#000000"](2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN) [color="#000000"](3) array[0]=var1 arrya[1]=var2 ... arr...

by sjhf - Linux文档专区 - 2009-07-05 17:32:59 阅读(1029) 回复(0)

比方打印出所有的非空的元素以及下标。 我目前的方法是 [code] a_len=${#a[@]} for((count=0,i=0;count数组的真实长度,然后按照下标自加上去挨个搜索 而awk中可以 [code] for (i in a) print i,a [/code] bash中可以吗?

by cjaizss - Shell - 2008-01-20 16:15:18 阅读(25844) 回复(9)

RT.. 代码如下,我想把tmp里的内容转变成数组如,请问如何做? 谢谢 . $tmp输出的内容为: 2 5 6 [code] IFS="\n"; arr=($(echo $tmp)); echo ${arr[1]}; [/code]

by Qlin - Shell - 2007-01-31 14:50:38 阅读(1903) 回复(4)