首页 > 解决方案 > Bash 配置文件变量

问题描述

我事先道歉,不像我想要的那样了解 bash 文件。

我正在使用 Cygwin。我有一个 bash_profile,我将变量保存到其中,以便以后执行它们。我也有它引用我的 bash_rc 文件的地方。这是我的代码。

if [ -f "${HOME}/.bashrc" ] ; then
    source "${HOME}/.bashrc"
fi

export TOSROOT="X/Y/Z"

现在,当我保存文件并关闭时,我回到 Cygwin 并执行

echo $TOSROOT #nothing

它是空的。关于为什么 bash_profile/rc 等不起作用的任何帮助?为什么我不能使用变量。

注意——我可以在命令行中输入

export TOSROOT="/X/Y/Z"

echo $TOSROOT #X/Y/Z

它有效。

PS4=':$BASH_SOURCE:$LINENO+' bash -x -i #this returns

::3+PS4=':$BASH_SOURCE:$LINENO+'
::3+bash -x -i
:/etc/bash.bashrc:21+[[ -z '' ]]
:/etc/bash.bashrc:21+CYG_SYS_BASHRC=1
:/etc/bash.bashrc:24+[[ himBH !- *i* ]]
:/etc/bash.bashrc:27+PS1='\[\e]0;\w\a]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
:/home/tdyuser/.bashrc:27+[[ himxBH != *i* ]]

标签: bash

解决方案


、和仅在调用 shell 时处理~/.profile。如果您进行了更改,请退出当前的 shell 会话并开始一个新的会话。/etc/profile~/.bash_rc/etc/bashrc


推荐阅读