ChinaUnix.net
相关文章推荐:

bash shell 数组

遇到一个奇怪的问题,如下是读取当前目录下的文件和目录,并把它存放到数组中, #!/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 阅读(5421) 回复(3)

相关讨论

我看到一个脚本中有这么一段: while read DATA do eval $DATA eval "declare DATEBOOK_${mm}_${dd}_$yy =$msg" done < eval.dat 知道变量数组DATEBOOK_${mm}_${dd}_$yy已经被赋值了$msg,可是如何将变量DATEBOOK_${mm}_${dd}_$yy的值输出呢? 百思不得其解,求教各位! 注:eval.dat mm=01 dd=12 yy=2004 msg=' Appt with Kell ' mm=03 dd=09 yy=2004 msg=' Attend a meeting' mm=04 dd=11 yy=2004 msg=' An nice day! '

by chauney - Shell - 2004-12-16 22:27:05 阅读(1907) 回复(7)

现在执行一个命令,它会输出一些规则的信息:其中第一列纪录的是需要删除的文件名。 要写脚本删除这些文件,希望通过awk把这些文件名保存到shell变量中,可是没有好的办法:em06: 下面是我写的笨办法: mmm=$(command | awk 'END {print $NR}') for ((i = 1; i < $mmm; i++)) do rm -f $(command | awk -v nr="$i" 'NR == nr {print $0}') done 请教各位,有没有办法只执行一次awk命令,把那些文件名保存到一组变量里,...

by yjh777 - Shell - 2006-03-23 15:33:37 阅读(2563) 回复(4)

$ 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 阅读(3044) 回复(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 阅读(2480) 回复(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 阅读(1875) 回复(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 阅读(1307) 回复(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 阅读(1030) 回复(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 阅读(25880) 回复(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 阅读(1904) 回复(4)

1.# **|uniq -c 1 1 1 9 1 36 1 69 1 76 2. 把这些值付给数组,然后调用数组元素运算。 这样的东西在shell写如何写 这个在perl用hash比较容易,在shell中不知道如何做了 [ 本帖最后由 huanghaojie 于 2009-2-18 15:04 编辑 ]

by huanghaojie - Shell - 2009-02-18 15:06:24 阅读(1984) 回复(5)