在下面的程式中,第 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的推薦還有也可以幫助調試這些類型的錯誤的好網站

相關內容