在 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 bar
与 setx foo=bar
)。因为你没有提到 setx,所以我误读了你的回答。
出于某种原因,Git Bash 忽略了我的 Windows 的 HOME 环境变量。意思是,它不是使用我的 gitconfig,而是在 Git/etc 中使用它自己的。【参考方案3】:
在您的主目录中创建一个 .bashrc 文件也可以。这样您就不必每次安装新版本的 git bash 时都复制 .bash_profile。
【讨论】:
以上是关于在 git bash 中设置环境变量的主要内容,如果未能解决你的问题,请参考以下文章
git bash中提示 bash:node: command not found