gpt4 book ai didi

linux - Bash 环境变量不更新

转载 作者:太空狗 更新时间:2023-10-29 12:19:52 25 4
gpt4 key购买 nike

我在我的 repo 中使用 git post-checkout 钩子(Hook)将当前分支放入一个变量中,然后我想在其他地方使用它,比如 PHP 等。

以下是我的 checkout 后脚本:

#!/bin/bash
echo $GITBRANCH
GITBRANCH=`git symbolic-ref HEAD | cut -d/ -f3-`
echo $GITBRANCH
export $GITBRANCH

但是它不会更新。例如:

>git checkout master
Switched to branch 'master'
develop
master
>echo $GITBRANCH
develop

运行 GITBRANCH=git symbolic-ref HEAD | cut -d/-f3- 命令本身将生成当前分支名称。

为什么钩子(Hook)不全局更新 $GITBRANCH 变量?

最佳答案

当您在脚本中设置变量时,它将仅在运行脚本的 shell 中可用。一旦进程终止,您设置的变量将永远消失!

如果您希望变量随处可用,.profile.bashrc 可能是更好的地方。

关于linux - Bash 环境变量不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12937027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com