在 git bash 中设置环境变量

Posted

技术标签:

【中文标题】在 git bash 中设置环境变量【英文标题】:Set an environment variable in git bash 【发布时间】:2016-03-14 04:33:05 【问题描述】:

当我从 windows gitbash 命令行打卡时:

set $HOME = c

然后做:

echo $HOME

它没有设置为c?如何更改/设置环境变量的值?

【问题讨论】:

【参考方案1】:

一个普通的变量是通过简单地赋值来设置的;请注意,= 周围不允许有空格:

HOME=c

环境变量是已标记为导出到环境的常规变量。

export HOME
HOME=c

您可以将赋值与export 语句结合使用。

export HOME=c

【讨论】:

那么 OP 的 set 是做什么的? 假设$HOME 的“正常”值(这样不带引号的扩展会产生一个单词),它将前三个位置参数设置为$HOME= 的值,和c,分别。例如,set a b c; echo "$2" 将输出 b 一般来说也适用于 bash。【参考方案2】:

如果你想在 Git-Bash 中永久设置环境变量,你有两种选择:

    设置一个常规的 Windows 环境变量。 Git-bash 在启动时获取所有现有的 Windows 环境变量。

    .bash_profile 文件中设置环境变量。

.bash_profile 默认位于用户主文件夹中,例如C:\users\userName\git-home\.bash_profile。您可以通过设置HOME Windows 环境变量来更改 bash 主文件夹的路径。

.bash_profile 文件使用常规 Bash 语法和命令

# Export a variable in .bash_profile
export DIR=c:\dir
# Nix path style works too
export DIR=/c/dir

# And don't forget to add quotes if a variable contains whitespaces
export ANOTHER_DIR="c:\some dir"

阅读更多关于Bash configurations files的信息。

【讨论】:

您可能没有回答 OP 的问题,但您肯定帮我解决了我的问题。我试图在 Windows 上覆盖 Git Bash 的 PERL5LIB 环境变量,这让我很容易做到。 您可能需要编辑 #1 以说明它与 Windows shell 中的命令相同,但语法不同(setx foo barsetx foo=bar)。因为你没有提到 setx,所以我误读了你的回答。 出于某种原因,Git Bash 忽略了我的 Windows 的 HOME 环境变量。意思是,它不是使用我的 gitconfig,而是在 Git/etc 中使用它自己的。【参考方案3】:

在您的主目录中创建一个 .bashrc 文件也可以。这样您就不必每次安装新版本的 git bash 时都复制 .bash_profile。

【讨论】:

以上是关于在 git bash 中设置环境变量的主要内容,如果未能解决你的问题,请参考以下文章

在python脚本中设置环境变量

git bash中提示 bash:node: command not found

如何在 PyCharm 中设置环境变量?

如何在 Supervisor 服务中设置环境变量

linux环境 phpstudy集成环境中设置php永久环境变量

Cron 作业没有获得在 .bashrc 中设置的环境变量