错误的数组下标(UNIX)

错误的数组下标(UNIX),unix,unix-timestamp,dos2unix,Unix,Unix Timestamp,Dos2unix,嗨,伙计们,我知道这个问题已经被问了好几次了。但是我已经尝试了很多次,但我不知道问题出在哪里。下面是我的代码-: #!/bin/bash #GLOBAL VARIABLE name=() browserTime=0 browserScriptLocation=/global/z1/siebel/sweapp/public/enu value=0 browserintegerDate=0 browserscript_CreationTime(){ # SET

嗨,伙计们,我知道这个问题已经被问了好几次了。但是我已经尝试了很多次,但我不知道问题出在哪里。下面是我的代码-:

#!/bin/bash



  #GLOBAL VARIABLE
  name=()
  browserTime=0
  browserScriptLocation=/global/z1/siebel/sweapp/public/enu
  value=0
  browserintegerDate=0

  browserscript_CreationTime(){
  # SET PATH
  cd $browserScriptLocation
  #LOOP INSIDE THE FILES PRESENT ON PARTICULAR PATH
  for entry in $(ls -t | grep  "srf*")
  do
  #APPEND SEARCHED FILE IN ARRAY AT INDEX 0
  name[value]="$entry"
  #INCREASE INDEX COUNT
  value+=1
  done
  name=${name[0]}
  echo "$name"
  #GET BROWSER SCRIPT TIME
  browserTime=$(ls -E "$name" | cut -c 52-60)
  echo "$browserTime"
  browserDate=$(ls -E "$name" | cut -c 41-51)
  echo "$browserDate"
  year=$(echo "$browserDate" | cut -c 1-5)
  month=$(echo "$browserDate" | cut -c 7-8)
  date=$(echo "$browserDate" | cut -c 10-11)
  browserintegerDate="$year$month$date"
  browserintegerDate+=$(echo $timeConversion)
   echo "$browserintegerDate"
}

#invoke your function
browserscript_CreationTim

我收到此错误-:
名称[值]:错误的数组下标
。与我在其他UNIX BOX上测试的代码相同。两者都有相同的OSversion(SunOS 5.10),并且在那里工作得很好。但是它在另一个版本上不工作。我不明白为什么会发生这种情况??有人能帮忙吗

什么是
?你是说
$value
?我也试过了,但还是一样的错误:(
value+=1
将不会增加
value
一个。考虑到
value
是用
0
初始化的,结果将是
01
循环中的第一次。第二,
name=${name[0]}
?您确定要对两个变量使用相同的名称吗?确定现在不会出现错误,但为什么我的数组正在打印最后一个索引值而不是在索引0处给定值????第一次循环执行时,我将文件名存储在索引0处顶部的数组中。但它正在打印最后一个indx文件。yoyu能告诉我为什么吗?我如何才能输入如果在值+=1的情况下无效,那么增量索引计数是多少?
value
?您的意思是
$value
?我也试过了,但还是相同的错误..:(另外两个可能的问题:
value+=1
不会将
value
增加1。考虑到
value
是用
0
初始化的,结果将是循环中的第一次
01
。第二次,
name=${name[0]}
?您确定要对两个变量使用相同的名称吗?确定现在不会出现错误,但为什么我的数组正在打印最后一个索引值而不是在索引0处给定值????第一次循环执行时,我将文件名存储在索引0处顶部的数组中。但它正在打印最后一个indx文件。yoyu能告诉我为什么吗?我如何才能输入增量索引计数(如果值+=1无效)??