2014-06-28 8 views
10

मैं गिट हुक के लिए स्क्रिप्ट लिख रहा हूं और while के अंदर if कथन के साथ परेशानी है।बैश स्क्रिप्टिंग अप्रत्याशित ऑपरेटर

फ़ाइल:

#!/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 

त्रुटि:

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

मैं चर, दोहरे उद्धरण चिह्नों के साथ की कोशिश करेंगे लेकिन if काम नहीं करता। यहां किस तरह की त्रुटि है?

धन्यवाद

उत्तर

21

if [ "a" == "a" ]if [ "a" = "a" ] होना चाहिए।

bash= के बजाय == स्वीकार करता है, लेकिन आपके /bin/sh शायद बाश नहीं है।

तो या तो == को =, या अपने कुटिया #!/bin/bash

करने के लिए बदल
संबंधित मुद्दे