it-swarm.com.de

.bashrc bei ssh login

Wenn ich mit Hardy 8.04 in meine Ubuntu-Box gehe, werden die Umgebungsvariablen in meinem .bashrc nicht gesetzt.

Wenn ich eine .bashrc-Quelldatei mache, werden die Variablen ordnungsgemäß festgelegt, und alles ist in Ordnung.

Wie kommt es, dass .bashrc bei der Anmeldung nicht ausgeführt wird?

351
Hobhouse

.bashrc wird nicht bezogen, wenn Sie sich mit SSH anmelden. Sie müssen es in Ihrem .bash_profile so was:

if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi
589
Ayman Hourieh

Ich hatte eine ähnliche Situation wie Hobhouse. Ich wollte Befehl verwenden

 ssh myhost.com 'some_command'

und 'some_command' existiert in '/ var/some_location', also habe ich versucht, '/ var/some_location' in der PATH-Umgebung anzuhängen, indem ich '$ HOME/.bashrc' editierte

aber das hat nicht funktioniert. weil die standardmäßige .bashrc-Datei (Ubuntu 10.4 LTS) verhindert, dass Code wie unten angegeben verwendet wird

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

wenn Sie die Umgebung für die Shell ohne SSH-Anmeldung ändern möchten. Sie sollten Code oberhalb dieser Zeile hinzufügen.

66
ruseel

Lesen Sie die folgenden Informationen, um zu erfahren, wie der Bash-Aufruf funktioniert, welche Dotfiles was bewirken und wie Sie sie verwenden/konfigurieren sollten:

31
lhunath

Wenn die Lösung von ayman nicht funktioniert, benennen Sie Ihre Datei .profile anstatt .bash_profile. Das hat bei mir geklappt.

28
Loïc Wolff