2016-07-18 13 views
0

Ich versuche unter 2-Anweisungen in ein Shell-SkriptBenötigen Sie Hilfe bei der Lösung der Ausnahme "Unerwarteter Dateiende"?

cat all5.log | grep 'Opened\|Closed'> all.log 
awk -F ' ' '{print }' all.log | sort | uniq > uniqueFiles.txt 

Hier ist monitorFd.sh Bash-Skript

#!/bin/bash 

if [ "" != "" ]; then 
    cat | grep 'Opened\|Closed' > temp.log 
    awk -F ' ' '{print }' temp.log | sort | uniq > uniqueFiles.txt 

    while IFS='' read -r line || [[ -n "$line" ]]; do 
     cmd1=`cat | grep Opened | grep $line | sort | wc -l` 
     cmd2=`cat | grep Closed | grep $line | sort | wc -l` 
     echo 'Opened: '$cmd1', Closed: '$cmd2' '$line 
    done < "uniqueFiles.txt" 

    rm -f temp.log 
else 
    echo "No target file provided. (hint: trace dump of file-leak-detector.jar)" #syntax error: unexpected end of file 

In Notepad ++ Ich änderte diese Datei sein von UNIX-Format zu transformieren. Habe auch die Berechtigung für + x geändert, aber ich bekomme eine Ausnahme.

monitorFd.sh: line 16: syntax error: unexpected end of file 

enter image description here

Was ist mit diesem Programm ist nicht in Ordnung?

+8

'wenn ... sonst ... fi' – xxfelixxx

+0

@xxfelixxx: Danke das mein Problem lösen. – Ricky

+2

@xxfelixxx: Für zukünftige solche Probleme, werfen Sie einen Blick auf http://shellcheck.net. Das ist ein großartiger Rahmen und kann in Ihren Editor integriert werden ... :-) – anishsane

Antwort

0

Die Syntax für if in Bash ist if ... else/elif ... fi. Fügen Sie einfach eine fi am Ende Ihrer Datei hinzu.

Verwandte Themen