Błąd składniowy: oczekiwany operand podczas używania Bash

Mam dwie tablice, które chcę zapętlić. Konstruuję je poprawnie i przed przejściem do pętli for wykonuję echo, aby upewnić się, że wszystko jest w porządku z tablicami. Ale po uruchomieniu skryptu generuje błąd:

l<=: syntax error: operand expected (error token is "<="

Konsultowałem się z potężnym Google i zrozumiałem, że cierpi na brak drugiej zmiennej, ale wspomniałem wcześniej, że powtarzam wartości i wszystko wydaje się być w porządku. Oto fragment ..

#!/bin/bash
    k=0
    #this loop is just for being sure array is loaded
    while [[ $k -le ${#hitEnd[@]} ]] 
      do
      echo "hitEnd is: ${hitEnd[k]} and hitStart is: ${hitStart[k]}"
      # here outputs the values correct 
      k=$((k+1))
    done
    k=0
    for ((l=${hitStart[k]};l<=${hitEnd[k]};l++)) ; do //this is error line..
        let array[l]++      
        k=$((k+1))
done

Zmienne w pętli for są poprawnie wyświetlane, ale pętla nie działa ... gdzie się mylę?

#

jako gniourf_gniourf odpowiedział:

„... W pewnym momencie k osiągnie wartość $ {# hitEnd [@]}, a to jest dokładnie wtedy, gdy hitEnd [k] nie jest zdefiniowane i rozwija się do pustego łańcucha! Bang!”

Oznacza to, że wyjście błędu jest wyświetlane nie na początku pętli, ale gdy k ma większą wartość niż indeksy tablicy, wskazuje indeks, którego tablica nie obejmuje ...

questionAnswers(2)

yourAnswerToTheQuestion