Синтаксическая ошибка в строке 53 в конце файла в программе ниже для написания скрипта для поиска исполняемого файла

Синтаксическая ошибка в строке 53 в конце файла в программе ниже для написания скрипта для поиска исполняемого файла
#!/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

решение1

У вас в скрипте много ошибок. Если вы используете текстовый редактор, vimон поможет вам с подсветкой синтаксиса. Также, как рекомендует @steeldriver, естьхорошие веб-сайты, помогающие устранять такие ошибки.

Связанный контент