在linux中我会去:
setenv -p MYVAR "somevalue"
Run Code Online (Sandbox Code Playgroud)
但这似乎不适用于cygwin.
dbm*_*kus 27
默认情况下,Cygwin正在运行Bourne shell或Bash,因此设置变量的命令是不同的.这是您需要的代码:
export MYVAR="somevalue"
Run Code Online (Sandbox Code Playgroud)
该export部分让shell知道它是一个环境变量而不是局部变量.
如果键入ls -a主目录,则应看到以下部分或全部文件:
.bashrc
.bash_profile
.profile
Run Code Online (Sandbox Code Playgroud)
.bash_profile为登录shell执行,并.bashrc为交互式非登录shell执行.要最简单地确保始终设置环境变量,请打开.bash_profile并添加文本:
export MYVAR="somevalue"
Run Code Online (Sandbox Code Playgroud)
你的shell然后在.bash_profile每次启动时执行,它将运行此命令.然后,您将MYVAR始终可以访问变量.如果您没有export变量,则只能在您的.bash_profile文件中访问它.
您可以通过将其值打印到shell来检查此变量是否已定义:
echo $MYVAR
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令删除(取消设置)变量:
unset $MYVAR
Run Code Online (Sandbox Code Playgroud)
另外,关于.bashrcvs .bash_profilevs. .profile,请看这些答案:
为简化配置,我建议您.bashrc从中获取文件.bash_profile.将此添加到.bash_profile:
if [ -f ${HOME}/.bashrc ]; then
source ${HOME}/.bashrc
fi
Run Code Online (Sandbox Code Playgroud)
这将加载.bashrc的.bash_profile.
如果您这样做,您可以改为将以下行放入.bashrc:
export MYVAR="somevalue"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59264 次 |
| 最近记录: |