2014-11-20 3 views
0

저는 여기 새로 왔으며, 제 프로그래머가 작동하지 않는 이유를 알고 싶었습니다. 도와 주시겠습니까? 는스크립팅 오류 예기치 않은 토큰

는 에코

오류

./mytry.sh: line 28: syntax error near unexpected token `fi' 
./mytry.sh: line 28: `fi' 
!/bin/sh 

echo "find?" 
read find 

if [ -z find ]; 
then 
echo "Ok" 
fi 

if [ ! -z $find ]; 
then 
echo " You are in $(pwd)" 
echo " I'm searching " 

for element in $(ls) 
do 
echo $element 

if [ -d $ element ]; 
then 
echo $element "exist and is not empty" 
fi 
fi 
done
+1

if [-d $ element];'=>'[-d $ element];'유효성을 검사하기 위해 www.shellcheck.net을 사용하십시오. – anubhava

+0

블록 이전에 for 루프를 닫습니다. – Saravanan

답변

1

이 있었다 두 개의 구문을 기반으로 실수를

for element in $(ls) 
do 
    echo $element 

    if [ -d $ element ]; 
    then 
    echo $element "exist and is not empty" 
    fi 
done 

과학 #should를 "나는 찾고 있어요." 약초가 잘못 작성되었으며 마지막 줄에있는 fidone 뒤에 와야합니다.

#!/bin/sh 

echo "find?" 
read find 

if [ -z find ]; 
then 
echo "Ok" 
fi 

if [ ! -z $find ]; 
then 
echo " You are in $(pwd)" 
echo " I'm searching " 

for element in $(ls) 
do 
echo $element 

if [ -d $ element ]; 
then 
echo $element "exist and is not empty" 
fi 
done 
fi 

위의 수정 된 스크립트입니다.

0

!/빈/SH 감사합니다 "찾아?" 는

경우 [Fi를

if [ -z find ]; 
then 
echo "Ok" 

찾고, 읽고! -z $ find]; 는 는 에코 "당신은 (PWD) $에" 는 에코 루프 닫은 후