#!/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的推荐还有也可以帮助调试这些类型的错误的好网站。