Bash脚本意外的运算符

Son*_*que 12 bash shell

我正在为git hook编写脚本,并且if内部声明有问题while.

文件:

#!/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
Run Code Online (Sandbox Code Playgroud)

错误:

hooks/post-receive: 6: [: a: unexpected operator
Run Code Online (Sandbox Code Playgroud)

我将尝试使用变量,双引号但if不起作用.这里有什么错误?

谢谢

mat*_*ata 27

if [ "a" == "a" ]应该是if [ "a" = "a" ].

bash接受==而不是=,但你/bin/sh可能不是bash.

因此,要么更改===,或者你的家当来#!/bin/bash