'source .bash_profile' 失败,但 'source path/to/.bash_profile' 有效

'source .bash_profile' 失败,但 'source path/to/.bash_profile' 有效

我正在尝试在无 sudo 用户内获取远程主机上的 .bashrc 文件。我收到以下响应。

sh-4.2$ source .bash_profile
sh-4.2$ source: .bash_profile: file not found

sh-4.2$ source ~/.bash_profile
[user@hera ~]$

为什么会有这种行为?

添加图片

.bash_profile 的内容

.bashrc 的内容

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions

# added by Anaconda3 4.1.1 installer
export PATH="/home/tensorflow/anaconda3/bin:$PATH"

答案1

您正在使用 POSIX 模式的 bash。

man bash下面source filename [arguments]

如果 filename 不包含斜杠,则使用 PATH 中的文件名来查找包含 filename 的目录... 当 bash 不处于 posix 模式时,如果在 PATH 中找不到文件,则搜索当前目录。

Bash 以 posix 模式运行,因为您已将其启动为sh而不是bash(因此命令提示符为sh-4.2)。您需要将 shell 更改为/bin/bash才能使用这样的“bash-isms”。

答案2

你可以用 pwd 命令查看路径 - 我敢打赌你的 .bashrc 不在当前工作目录中

相关内容