Ответ 1
if [ "a" == "a" ]
должен быть if [ "a" = "a" ]
.
bash
принимает ==
вместо =
, но ваш /bin/sh
, вероятно, не bash.
Итак, либо измените ==
на =
, либо ваш shebang на #!/bin/bash
Я пишу script для 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
не работает. Какая ошибка здесь?
Спасибо
if [ "a" == "a" ]
должен быть if [ "a" = "a" ]
.
bash
принимает ==
вместо =
, но ваш /bin/sh
, вероятно, не bash.
Итак, либо измените ==
на =
, либо ваш shebang на #!/bin/bash