2016-09-12 5 views
0

Bin neu zu Unix, während Ausführung unter Shell, bekomme Fehler als "unerwartete Token` Fi '". Ich bin mir nicht sicher, warum diese Fehlermeldung, obwohl Syntax richtig ist. kann mir jemand helfen?Kann nicht ausgeführt werden, wenn Bedingung in Cygwin-Terminal

Code:

#!bin/bash -xv 
echo "this is test" 
a=10 
echo $a 
if [a -gt 5] 
than 
echo "print" 
echo $a+10 
fi 

O/P:

$ sh newsh.sh 
this is test 
10 
newsh.sh: line 9: syntax error near unexpected token `fi' 
newsh.sh: line 9: `fi' 
+3

Typo: 'als' sollte' dann' sein –

+2

Verwenden Sie '[$ a -gt 5]' und überprüfen Sie Ihren Code auf shellcheck.net – anubhava

+0

Vielen Dank Anubhava. Shell check.net ist wirklich voll für mich verwenden –

Antwort

1

Die Schale tokenization ist weiß-Raum empfindlich. Sie müssen verwenden

if [ $a -gt 5 ]; then 
    do_something 
    echo $((a + 10)) 
fi 

Und es ist #!/bin/sh; Zählen Sie Ihre Schrägstriche ...

+0

Vielen Dank Jens, wird meine Syntax zu überprüfen –

Verwandte Themen