2014-06-28 13 views
10

ich Skript für git Haken zu schreiben und haben Probleme mit if Anweisung innerhalb while.Bash Scripting unerwarteten Operator

Datei:

#!/bin/sh 
while read oldrev newref ref 
do 
    branch=$(git rev-parse --symbolic --abbrev-ref $ref) 

    if [ "a" == "a" ] 
    then 
     echo "Condition work" 
    fi 

    echo "$branch" 
done 

Fehler:

hooks/post-receive: 6: [: a: unexpected operator 

ich mit Variablen werde versuchen, doppelte Anführungszeichen, aber if funktioniert nicht. Was für ein Fehler ist hier?

Dank

Antwort

21

if [ "a" == "a" ] sollte if [ "a" = "a" ] sein.

bash akzeptiert == statt =, aber Ihre /bin/sh ist wahrscheinlich nicht bash.

Also entweder die ==-= oder Ihren shebang

zu #!/bin/bash ändern
Verwandte Themen