2015-06-15 10 views
-4

Я видел концепцию замещения процесса. Но следующий код все еще дает мне ошибку синтаксисаUnix Shell Scripting

script.sh: syntax error at line 44: `<' unexpected 

script.sh: syntax error at line 44: `<' unexpected 

Вот код:

#!/bin/bash 

count=1 

FILENAME=$1 

JUDGE="YATES" 

echo "VALUE OF JUDGE IS $JUDGE" 

STATUS="" 

#The file is read using while loop , file being supplied as cmd line arg , file simply contains the list of courts . 

#cat $FILENAME | while read LINE 

while read LINE 

do 

#Selecting the filepath here $LINE contains the court every time it iterates  

FILEPATH=/elFZ/dZcollection/$LINE/DETER_JUDGE 

#Checking whether the DETER_JUDGE exists or not ,  
cat $FILEPATH >> yatisawhney.txt 2>> yati_errors.txt 


#if the DETER_JUDGE file exists then 
if [ $? = 0 ] 
    then  

    echo "INSIDE IF" 

    STATUS="Yes" 

    #cat $FILEPATH | while read -r JUDGELINE 

    #open the DETER JUDGE file and read the values and updating the JUDGE variable. 

    while read JUDGELINE 

    do 

    line_length=$JUDGELINE 


    JUDGE=$JUDGE$line_length"||||||"  

    #JUDGE=1000 

    done < < ($FILEPATH) 

    echo "Value of judge is $JUDGE" 

else 
    FILEPATH="N.A." 

    STATUS="No" 

    JUDGE="N.A." 

fi 

#here I am not getting the updated value 

echo $JUDGE >> JUDGE_NAME 

echo $count","$LINE","$STATUS","$JUDGE","$FILEPATH >> judgeData.csv 

count=`expr "$count" + 1` 

JUDGE="" 

done < < ($FILENAME) 

Я не может выборку значений из внутренних во время цикла. Однако я могу получить их внутри цикла, как только я выйду за пределы значений, потерянных.

+0

использование http://www.shellcheck.net/ – Jahid

ответ

2

Замена процесса использует конструкцию <(...), между < и левыми скобками не должно быть пробелов.

Для чтения из файла, вам не нужен процесс замещение у всех:

done < "$FILENAME" 
+0

сделано < «$ FILENAME» не работают в моем случае , значения во внутреннем цикле while не отображаются снаружи. Однако мне нужны эти значения –

+0

Какие значения? Отметьте свой код так, чтобы петли были видны. – choroba

+0

Код уже с отступом, я мог бы комментировать здесь. –