#bash #shell
#bash #оболочка
Вопрос:
Я пишу скрипт для 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:
if [ "a" == "a" ]
должно быть if [ "a" = "a" ]
.
bash
принимает ==
вместо =
, но ваш /bin/sh
, вероятно, не bash.
Так что либо измените ==
на =
, либо ваш shebang на #!/bin/bash