Bei Verwendung von SSH wird der Alias ​​".bashrc" auf diesem Server nicht gelesen, selbst wenn er in .bash_profile und .bashrc richtig eingestellt ist

449
Vladimir Despotovic

Ich benutze SSH, um mich an einem entfernten Rechner anzumelden. Ich kann den Alias ​​so speichern, in .bashrc:

alias l='ls -lla' 

Wenn ich mich aber wieder abmelden und SSH wieder habe, existiert der Alias ​​nicht. Es ist jedoch ordnungsgemäß in .bash_profile und in .bashrc festgelegt. Warum passiert dies? Jedes Mal, wenn ich SSH habe, muss ich das tun . ~/.bashrcund ich möchte das nicht. Was kann ich dagegen tun?

1

1 Antwort auf die Frage

2
bgStack15

Überprüfen Sie Ihre Benutzer-Shell mit

getent passwd $ 

Und schau am Ende. Wenn es nicht / bin / bash ist, führen Sie es aus

chsh -s /bin/bash 

Wenn Sie ein domänendefinierter Benutzer sind, ist Ihre Standard-Shell möglicherweise / bin / sh. Dies kann ein Symlink zu bash sein, wird aber Ihre ~ / .bashrc nicht interpretieren.

Das hat es gelöst! Das Problem bestand also darin, welche Shell beim Anmelden zu verwenden ist. Vladimir Despotovic vor 6 Jahren 0
Ja, wenn bash als `/ bin / sh` ausgeführt wird, interpretiert es die ~ / .bashrc nicht. Dieses Verhalten ist wahrscheinlich irgendwo dokumentiert, aber aus meiner persönlichen Erfahrung habe ich einfach meinen Benutzer in freeipa geändert, um `/ bin / bash` als meine Standard-Shell zu verwenden, und dann wurde meine RC-Datei angewendet. bgStack15 vor 6 Jahren 1