Я пытаюсь создать свой файл .bashrc на удаленном хосте внутри пользователя sudo-less. Я получаю следующие ответы.
sh-4.2$ source .bash_profile
sh-4.2$ source: .bash_profile: file not found
sh-4.2$ source ~/.bash_profile
[user@hera ~]$
Почему такое поведение?
содержимое .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"
Вы используете bash в режиме POSIX.
Из man bash
под source filename [arguments]
Если имя файла не содержит косую черту, имена файлов в PATH используются для поиска каталога, содержащего имя файла ... Когда bash не в режиме posix, выполняется поиск в текущем каталоге, если в PATH не найден файл.
Bash работает в режиме posix, потому что вы запустили его как sh
скорее, чем bash
(таким образом, командная строка sh-4.2
). Вам нужно будет сменить оболочку на /bin/bash
чтобы использовать такие «баш-измы».
вы можете увидеть, какой путь с помощью команды pwd - держу пари, что ваш .bashrc не находится в текущем рабочем каталоге