Linux

‘source .bash_profile’ 失敗,但 ‘source path/to/.bash_profile’ 有效

  • September 16, 2016

我正在嘗試在 sudo-less 使用者內部的遠端主機上獲取我的 .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"

您在 POSIX 模式下使用 bash。

man bash下面source filename [arguments]

如果文件名不包含斜線,則使用 PATH 中的文件名查找包含文件名的目錄…當 bash 不是 posix 模式時,如果在 PATH 中沒有找到文件,則搜尋目前目錄。

Bash 以 posix 模式執行,因為您已將其啟動為sh而不是bash(因此命令提示符為sh-4.2)。您需要將 shell 更改為這樣/bin/bash才能使用“bash-isms”。

您可以使用 pwd 命令查看路徑 - 我敢打賭您的 .bashrc 不在目前工作目錄中

引用自:https://serverfault.com/questions/803628