Sua formatação é muito estranha!
Você provavelmente quer consertar isso primeiro para tornar este código um pouco legível!
Dito isso, seu problema é a falta de espaços em torno de [ e ] .
Esses caracteres [ ] são na verdade apenas um atalho para o comando test .
Você deve alterar a primeira linha para ler da seguinte forma:
em bash
if [[ "$L1Aname" == "$filename" ]]; then
ou
em POSIX shells
if [ "$L1Aname" = "$filename" ]; then
dentro de ambos os exemplos, cada caractere maters:
Por exemplo, espaços: é necessário haver espaços em torno de [ e ] .
Além disso, observe a diferença sutil entre bash e POSIX no duplo / único = .