Зачем это источник? Вы не работаете правдой bash
:
$ echo $SHELL
/bin/sh
В большинстве современных систем sh
это символическая ссылка на базовую оболочку. На моем Debian например:
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Aug 1 2012 /bin/sh -> dash
В твоем случае, sh
это ссылка на bash
но, как объяснено в man bash
:
Если bash вызывается с именем sh, он пытается максимально близко имитировать поведение при запуске исторических версий sh, при этом также соответствует стандарту POSIX. [...] Когда вызывается как интерактивная оболочка с именем sh, bash ищет переменную ENV, расширяет ее значение, если оно определено, и использует расширенное значение в качестве имени файла для чтения и выполнения. поскольку оболочка, вызываемая как sh, не пытается читать и выполнять команды из любых других файлов запуска , опция --rcfile не действует.
а также
--norc
Не читать и не выполнять общесистемный файл инициализации /etc/bash.bashrc и личный файл инициализации ~ / .bashrc, если оболочка является интерактивной. Эта опция включена по умолчанию, если оболочка вызывается как sh.
Таким образом, так как используемая по умолчанию оболочка sh
, .bashrc
не читается. Просто установите оболочку по умолчанию на bash, используя chsh -s /bin/bash
.
/bin/sh
указал/bin/bash
. Я предполагаю, что эта проблема возникла из-за того, что я не назначил оболочку явно/bin/bash
при первоначальном создании учетной записи пользователя.