我正在尝试从" git bash"中检索存储库的路径。 windows中的shell,如下所示
user@CND7293ZVV MINGW64 /c/Work/git/repository/subfolder (master)
$ git rev-parse --show-toplevel
C:/Work/git/repository
问题是我想使用ouptut路径从bash脚本中使用它,但它不是bash格式。我想得到/c/Work/git/repository
。有没有办法以可以直接在git bash shell中使用的方式获取路径?
额外信息:目标是将该路径存储在bash脚本中使用的变量中,无论我是从linux终端运行bash,还是从git bash运行。
更新:
为了能够在git-bash环境中使用命令,以及在native linux bash中,我们可以使用以下命令:
REPODIR=$(git rev-parse --show-toplevel)
# If we are inside mingw* environment, then we update the path to proper format
if [[ $(uname) == MINGW* ]] ; then REPODIR=$(cygpath -u "${REPODIR}"); fi; echo ${REPODIR}
答案 0 :(得分:2)
在Git bash命令行上运行时,您有一个名为cygpath的buildin实用程序可以执行此操作:
$ cygpath -u "C:/Work/git/repository"
/c/Work/git/repository
这可以与现有命令结合使用,在1行上完成所有操作:
$ cygpath -u "$(git rev-parse --show-toplevel)"
/c/Work/git/repository