Bash脚本意外的运算符

时间:2014-06-28 07:33:23

标签: 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

错误:

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

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

由于

1 个答案:

答案 0 :(得分:24)

if [ "a" == "a" ]应为if [ "a" = "a" ]

bash接受==而不是=,但您的/bin/sh可能不是bash。

所以要么将==更改为=,要么将你的shebang更改为#!/bin/bash