Reihenfolge der Bash-Profilskripte auf dem Bildschirm

Reihenfolge der Bash-Profilskripte auf dem Bildschirm

Ich habe in drei Profilskripte ein Echo eingefügt, das den Dateinamen anzeigt, sodass ich die Reihenfolge sehen kann, in der sie ausgeführt werden.

Wenn ich mich anmelde, sehe ich.

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

Doch wenn ich eine Bildschirmsitzung starte, sehe ich

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

Der Alias, den ich in ~/.bashrc eingerichtet habe, wird von color-ls überschrieben, aber nur innerhalb des Bildschirms. Gibt es eine Möglichkeit, dieses lästige Verhalten zu umgehen?

Antwort1

Lesen Sie zuerstMann bash(Abschnitt „Anrufung“) darüber, wannwelche Dateitatsächlich genutzt wird.

Ihre kleine „Spur“ zeigt Ihnen, dass Ihre~/.bashrc stetsQuellen /etc/bashrc, die dann aufrufen color-ls... odernicht, abhängig vom Code, /etc/bashrcwie es scheint.

Es gibt also zwei Möglichkeiten, das Problem zu lösen:

  • Prüfen Sie, unter welchen Umständen /etc/bashrcvon einer Beschaffung Abstand genommen wird color-ls.
  • Richten Sie Ihre Aliase nach Ihren ~/.bashrcProzessen ein /etc/bashrc.

verwandte Informationen