在下面的程序中,第 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的推荐还有也可以帮助调试这些类型的错误的好网站

相关内容