С вершины~/.profile
:
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
Итак, (если вы используете bash
в качестве оболочки ), я предполагаю, что в вашей системе установлен либо ~/.bash_profile
, либо ~/.bash_login
. Выберите один и отредактируйте его, чтобы включить:
export PATH=$PATH:$HOME/bin
Затем сохраните и source ~/.bash_login
или выйдите из системы и войдите снова.
Редактировать:
Вы говорите, что оба ~/.bash_profile
и ~/.bash_login
отсутствуют в вашем $HOME
. Я думаю, нам нужно подтвердить несколько вещей. Пожалуйста, опубликуйте результаты следующего в исходном вопросе:
echo $0
echo $HOME
whoami
less /etc/*-release
Редактировать 2:
Лично я не знаю, почему ~/.profile
не включен в ваше дело на основании предоставленной информации и документации. Во время тестирования я заметил, что мой ~/.profile
сканируется, когда я ssh
вхожу, но не когда я запускаю новый терминал.
Но есть простое решение, позволяющее включить $HOME/bin
в вашу интерактивную оболочку. Отредактируйте (создайте, если нет)~/.bashrc
и добавьте к нему следующую строку:
export PATH=$PATH:$HOME/bin
Сохранить, выйти и снова войти или source ~/.bashrc
.
Строка export
может быть расширена для проверки существования $HOME/bin
, если хотите, с помощью:
if [ -d "$HOME/bin" ]
then
export PATH=$PATH:$HOME/bin
fi
Почему ~/.bashrc
вместо другого файла? Лично предпочтение и кажется более надежным тоже.
Я не стал вдаваться в подробности того, кто «прав, а кто виноват» -, но в равной степени был раздражен этим вопросом. Некоторые решения этого:
AcceptEnv LC_*
в /etc/ssh/sshd
.profile
/etc/bash*
или /etc/profile
alias ssh="LC_CTYPE=\"${LANG}\" ssh"
в .bashrc
/ .profile
/ везде .bashrc
/ .profile
... Итак, в конце концов я создал mac-locale-fix.sh
в /etc/profile.d
на сервере (raspian в моем случае )с этой строкой:
[ "A${LC_CTYPE}" == "AUTF-8" ] && export LC_CTYPE="${LANG}"
Надеюсь, это поможет другим...