.bashrc仅自动为非登录交互式外壳提供。通常,您会将文件放在.
.bashrc开头附近
.bash_login,以确保该文件.bashrc来自登录和非登录交互式外壳程序。
.bashrc 不会自动为非交互式外壳(例如在执行外壳脚本时启动的外壳)提供源。
由于您是FOO从导出的
.bashrc,因此
test.sh看到FOO具有空值的事实告诉我您正在从登录Shell运行脚本。是否echo $FOO从提示打印BAR?如果确实如此,我会感到惊讶
test.sh。

.bashrc仅自动为非登录交互式外壳提供。通常,您会将文件放在.
.bashrc开头附近
.bash_login,以确保该文件.bashrc来自登录和非登录交互式外壳程序。
.bashrc 不会自动为非交互式外壳(例如在执行外壳脚本时启动的外壳)提供源。
由于您是FOO从导出的
.bashrc,因此
test.sh看到FOO具有空值的事实告诉我您正在从登录Shell运行脚本。是否echo $FOO从提示打印BAR?如果确实如此,我会感到惊讶
test.sh。