如果condition只接受Unix中的第一种情况

时间:2013-06-07 15:09:54

标签: arrays unix if-statement ksh

我有一个包含一些值的数组。我必须检查值并相应地移动。这是我的代码。

    var=$EOR
    if [ "${arr[0]}" != "NUMBER" ];
    then
      FIELD1=`echo $var | awk 'BEGIN { f="'"'"'" } {split($0,x,/@#/); printf "%s\n", f     x[1] f}'`   #output: 'field1'
    else
      FIELD1=`echo $var | awk '{ split($0,x,"@#"); print x[1]}'`   
    fi #output: field1

因此,如果位置0的数组不是NUMBER,则文件的第一个字段将写在引号之间,否则不会。问题是似乎只采用第一个条件而输出为'field1',尽管第一个数组值是NUMBER。有什么问题?

0 个答案:

没有答案