我在脚本中: a=(1 2 3) a[4]=5 运行报错。 syntax error:"(" unexpected a[4]=5:not found 为什么啊?我看数组赋值就是这样啊? 但在根下直接输入这两个命令就能成功。
by fly1001egg - Shell - 2016-05-06 18:15:41 阅读(1211) 回复(9)
假如有一个a.log文件,内容如下: 1 a A 2 b B 3 c C 4 d D 5 e E .... 我希望将第一列放至数组a[],二列放至数组b[],三列放到数组c[],有什么办法一次性进行赋值。我只知道用三个cat分别赋值至a b c,类似如下: for i in `cat a.log|awk '{print $1}'` do a[]=$i b[]=`cat a.log|awk '{print $2}` c[]=`cat a.log|awk '{print $3}` done 如果a.log文件很大时,这种效率很低,求怎么处理,不局限于一维数组,比如...
遇到一个奇怪的问题,如下是读取当前目录下的文件和目录,并把它存放到数组中, #!/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...
本帖最后由 x-dongzi 于 2010-04-17 15:12 编辑 geshu这个文件的内容如下:[code]17549 725 2829 500 2905 500 3231 500 15944 505 15975 505 16050 505 15978 505 15827 505 15743 445 15668 445 15706 445 16074 475 [/code]我对array赋值的语句如下,就是希望每行的第一列做索引,第二列做数值。感觉自己写的太笨了。希望得到大家的指点。谢谢啦。[code]while read line do array[`echo $line|awk '{print $1}'...
各位大侠,今天遇到一个问题,其实比较简单,但是我搞了一下午才搞定,但是还是有些不明白有些问题。 事情是这样的: 有一个数据库的一个目录下面每天都会备份当天的数据文件,格式像这样:xxx_20050825.dmp.Z,因为空间有限所以我需要运行一个脚本把老的备份文件都删除,留下最近三天的。 ----------------------------------- DATE=`date +"%Y%m%d %H:%M:%S"` DB_PT=/tmp/tmp DB_USER=dbuser...
本帖最后由 zcsgamer 于 2010-03-02 21:51 编辑 perl可以这样给数组赋值:@test=1...10,shell有没有类似的方式? 比如,我想初始化一个10000个元素分别为1-10000的数组,怎么做最简单?
每一行可能都有空格,尝试了几种,似乎不太容易搞定 [mzhou@slt-bj ~]$ cal August 2013 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [mzhou@slt-bj ~]$ [mzhou@slt-bj ~]$ [mzhou@slt-bj ~]$ a=$(cal) [mzhou@slt-bj ~]$ echo $a August 2013 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...
我想写一个检查系统服务的脚 本, 这是其中的一段, www=`netstat -an|grep LISTEN |grep :80 ` if [ "$www" != ""]; then echo "www is runnning " else echo "www is not running" fi 可是执行的时候总是报错 :command netstat -an|grep LISTEN |grep :80 not find , 这倒底是怎么回事儿呢?
1.# **|uniq -c 1 1 1 9 1 36 1 69 1 76 2. 把这些值付给数组,然后调用数组元素运算。 这样的东西在shell写如何写 这个在perl用hash比较容易,在shell中不知道如何做了 [ 本帖最后由 huanghaojie 于 2009-2-18 15:04 编辑 ]