我事先表示歉意,不如我所愿地了解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* ]]
答案 0 :(得分:0)
仅在调用Shell时处理~/.profile
,/etc/profile
,~/.bash_rc
和/etc/bashrc
。如果进行了更改,请退出当前的Shell会话并开始一个新的会话。