0
Unten ist mein Code.Unix-Shell - Syntaxfehler in der Nähe von unerwartetem Token `done '
#!/bin/ksh
curdate=$(date '+%d%h,%Y')
while read line;
do
echo "$line" > new10.txt
str0=$(cut -f 2 new10.txt)
str01=$(cut -f 1 -d ',' new10.txt)
str1=$(cut -f 2 -d ',' new10.txt)
str2=$(cut -c 3 $str1)
if [ $str2=':' ];
then
str2=',2016'
finalstr=$str01$str2
if [ '01jan2017' -le $finalstr -le $curdate ];
then
finalstr1=$str01',2017'
else
finalstr1=$str01',2016'
echo $finalstr1 > datefinal.txt
fi
done < /export/home/islams/PISAS/userwiseutil/date.txt
Ich erhalte folgende Fehler: date1.sh: Zeile 22: Syntaxfehler in der Nähe von unerwartetem Token done' date1.sh: line 22:
< getan /export/home/islams/PISAS/userwiseutil/date.txt‘
Sie haben keine Ihrer 'if'-Anweisungen geschlossen. Ich sehe zwei 'if' und nur eine' fi'. Außerdem sollten Sie die Einrückung verwenden, um die Lesbarkeit zu verbessern. – ccarton
Schau, ich habe einen Einzug eingefügt und das Problem wird offensichtlich. Bitte vor dem Posten in stackoverflow einrücken, es ist angenehmer, Ihren Beitrag zu lesen und es wird diese Art von Fehler zu lösen – Aaron
Vielen Dank und Entschuldigung für meine dumme Fehler. Könnten Sie mir bitte wissen lassen, wenn die if-Anweisung für den Vergleich Datum in einem Bereich korrekt ist ? –