Навіщо це джерело? Ви не виконуєте правду 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
не читається. Просто встановіть для вашої оболонки за замовчуванням баш за допомогою chsh -s /bin/bash
.
/bin/sh
вказування/bin/bash
. Я думаю, що ця проблема виникла з того, що явно не призначив оболонку,/bin/bash
коли я створив обліковий запис користувача.