错误的数组下标(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无效)??