bash脚本检查当前git branch =" x"

时间:2016-06-17 21:18:15

标签: git bash shell sh

我在shell脚本编写方面非常糟糕(使用bash),我正在寻找一种方法 检查当前的git分支是否为" x",如果不是" x"则中止脚本。

    #!/usr/bin/env bash

    CURRENT_BRANCH="$(git branch)"
    if [[ "$CURRENT_BRANCH" -ne "master" ]]; then
          echo "Aborting script because you are not on the master branch."
          return;      # I need to abort here!
    fi

    echo "foo"

但这不太正确

3 个答案:

答案 0 :(得分:31)

使用git rev-parse --abbrev-ref HEAD获取当前分支的名称。

然后,只需简单地比较脚本中的值:

BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [[ "$BRANCH" != "x" ]]; then
  echo 'Aborting script';
  exit 1;
fi

echo 'Do stuff';

答案 1 :(得分:4)

一种选择是解析git branch命令的输出:

BRANCH=$(git branch | sed -nr 's/\*\s(.*)/\1/p')

if [ -z $BRANCH ] || [ $BRANCH != "master" ]; then
    exit 1
fi

但是使用git内部命令来获取@knittl建议的活动分支名称的变体不容易出错并且更可取

答案 2 :(得分:3)

您想使用exit代替return