/bin/bash springt ins home-Verzeichnis

14/10/2008 - 18:31 von Jochen Hub | Report spam
Hi,

ich hab mal wieder ein kleines Problem. Ich logge mich oft auf ein
cluster ein und springe gleich in ein Verzeichnis. Ich mache das immer mit

ssh -t $CLUSTER "cd ~/$DIR && exec /bin/bash"

Bisher hat das immer geklappt. Bei unserem neuen Cluster startet die
bash leider immer im Homeverzeichnis und *nicht* in $DIR. Ein pwd vor
dem exec-command zeigt, dass der cd klappt, z.B. ergibt:

# ssh -t owl1 "cd ~/bin && pwd && exec /bin/bash"
/home/jhub/bin # noch alles ok
jhub@owl1:~> # ??? *gruml*

Das komische ist: Wenn ich mich einlogge, das aktuelle Verzeichnis
wechsel, und dann exec /bin/bash starte, *bleibt* die bash im aktuellen
Verzeichnis (!!):

# ssh owl1
jhub@owl1:~> cd bin/
jhub@owl1:~/bin> exec /bin/bash
jhub@owl1:~/bin> # alles ok !!

Also meine Frage: Wovon haengt das verschiedene Verhalten von /bin/bash
ab? In welchen profile-Dateien o.ae. koennte das unterschiedliche
Verhalten verursacht werden?

Das System/ die bash auf dem Cluster sind
SUSE Linux Enterprise Server 10 (x86_64)
GNU bash, version 3.1.17(1)-release (x86_64-suse-linux)

Linux und ssh auf dem lokalen rechner:
openSUSE 10.3 (X86-64)
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007

Danke fuer alle Tipps!

Gruesse, Jochen
 

Lesen sie die antworten

#1 michael.mauch
14/10/2008 - 21:12 | Warnen spam
Jochen Hub wrote:

Also meine Frage: Wovon haengt das verschiedene Verhalten von /bin/bash
ab? In welchen profile-Dateien o.ae. koennte das unterschiedliche
Verhalten verursacht werden?



Ich versuch's mal mit Hilfe zur Selbsthilfe. Bitte eingeben (nur das,
was links vom Kommentarzeichen steht):

man bash # Hilfe zu bash starten
/profile # nach "profile" suchen
n # zum _n_àchsten Treffer springen, da der Satz:

Arrange for the debugger profile to be executed before the shell
starts.

uns im Moment nicht interessiert. Der 2. Treffer bringt:

Do not read either the system-wide startup file /etc/profile or any of
the personal initialization files ~/.bash_profile, ~/.bash_login, or
~/.profile. By default, bash reads these files when it is invoked as
a login shell (see INVOCATION below).

Also kann man jetzt nach "INVOCATION" suchen (einfach wieder "/" ohne
Anführungszeichen voranstellen) oder falls das Terminal gross genug ist,
einfach bis zum Kapitel "INVOCATION" runterscrollen.

Da steht dann recht ausführlich, welche Dateien die bash beim Start
liest.


Michael

Ähnliche fragen