我讀了,我們這裏需要的報價,並添加引號堆棧溢出,但它ddn't幫助。整數表達式預計:猛砸
array_length=${fileNames[@]}
COUNTER=0
while [ "$COUNTER" -lt "$array_length" ]; do
我得到的錯誤仍然存在。請幫忙。全新來砸
我讀了,我們這裏需要的報價,並添加引號堆棧溢出,但它ddn't幫助。整數表達式預計:猛砸
array_length=${fileNames[@]}
COUNTER=0
while [ "$COUNTER" -lt "$array_length" ]; do
我得到的錯誤仍然存在。請幫忙。全新來砸
array_length=${fileNames[@]}
應該已經
array_length=${#fileNames[@]}
對於預期的行爲,while循環應該是:
while [ "$COUNTER" -lt "$array_length" ]
do
.
#do something
.
((COUNTER++)) # Equivalent to COUNTER=COUNTER+1
done
${fileNames[@]}
擴展到整個陣列,同時在與#
前綴它給你的元素數量。
圖片的標題說明:
1.不要忘記遞增COUNTER
內while循環。
2.嘗試避免像COUNTER
大寫變量因爲它們通常保留給系統。
謝謝,我會在5分鐘內接受它。你也可以告訴我有什麼不對的:「$ COUNTER + 1」 -lt「$ array_length」 這其中還給出了一個錯誤,如果有非常重要的概念,我將打開一個新的問題。 –
@BhavyaArora:'counter + 1'不會增加'counter'。 – sjsam
我不想在這裏增加它,只是想將它與下一個數字進行比較。我如何刪除錯誤。還有什麼會增加櫃檯?讓counter = counter + 1? –
你以前的問題應該是一個鏈接的提(您可以編輯的問題,並修復它,在幫助解釋),以幫助上下文。但是,看看你展示的短片,我發現你將一個名爲'array_length'的變量設置爲文件名列表,然後嘗試將它用作數字。除非'fileNames'只有一個元素(在這種情況下你不會使用'[0]'),並且它恰好是一個數字,那麼測試的調用就不可能奏效。 – MAP
對不起,我會嘗試再次找到它。沒有幫助我,所以我關閉了它。 –
參見[bash的陣列(http://tldp.org/LDP/abs/html/arrays.html) –