1

Я поместил эхо в три скрипта профиля, которые показывают имя файла, чтобы я мог видеть порядок их выполнения.

Когда я вхожу, я вижу.

/etc/profile
/etc/profile.d/color-ls
~/.bashrc
/etc/bashrc
$ alias ls
alias ls='ls --ignore=*.pyc --color'

Тем не менее, когда я начинаю сеанс экрана, я вижу

~/.bashrc
/etc/bashrc
/etc/profile.d/color-ls
$ alias ls
alias ls='ls --color=tty'

Псевдоним, который я установил в ~/.bashrc, перезаписывается color-ls, но только в пределах экрана, есть ли какое-либо раздражающее поведение?

1 ответ1

1

Сначала вы должны прочитать man bash (раздел «INVOCATION») о том, когда какой файл фактически используется.

Ваш маленький 'след' показывает, что ваш ~/.bashrc всегда использует /etc/bashrc который затем вызывает color-ls ... или нет, в зависимости от того, какой код в /etc/bashrc как кажется.

Итак, два способа решения проблемы:

  • Проверьте, при каких обстоятельствах /etc/bashrc решает не использовать color-ls .
  • Настройте псевдонимы после того, как ~/.bashrc обрабатывает /etc/bashrc .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .