Erro de sintaxe na linha 53'fim do arquivo no programa abaixo para escrever script para localizar arquivo executável

Erro de sintaxe na linha 53'fim do arquivo no programa abaixo para escrever script para localizar arquivo executável
#!/bin/sh

FINDALL=false

if [ -a "$1" ]
 FINDALL=true
 shift
    for arg
                do
               if [ -f $file" ]
                  if [ ! -d "$file" -a -x "$file" ]
                        then
                        echo $file
                  else
                        echo $file is NOT FOUND
                  fi
               else
                 FOUND=false
               case $PATH in
               :*)
                 PATH=".:$PATH"
               ;;
               *::*)
                PATH=`echo $PATH | sed -e 's/::/:.:/g'`
               ;;
               *:)
               PATH="$PATH:."
               ;;
               esac
               IFS=$OLDIFS
               IFS=:
               set -- $PATH
               IFS=$OLDIFS
                 for $P in PATH
                    if [ ! "$P/$file" -a -x "$P/$file" ]
                         then
                           FOUND=TRUE
                            echo $P/$file
                         if  FINDALL=FALSE
                           break
                         fi
                     else
                       if [ "$FOUND" = false ]
                        then
                        echo $file is NOT FOUND
                       fi
                done
              fi
      done
fi

Responder1

Você tem uma grande quantidade de erros em seu script. Se você estiver usando um editor de texto semelhante, vimele o ajudará com o realce de sintaxe. Também conforme recomendado por @steeldriver, existembons sites para ajudar a depurar esses tipos de erros também.

informação relacionada