Führen Sie das Skript bei der SSH-Anmeldung beim Server aus

890
Doddy

Ich versuche herauszufinden, wie man SSH dazu bringt, ein Skript auszuführen, bevor mir eine Shell übergeben wird. Der Grund dafür ist, dass ich mich bei vielen Benutzern an gemeinsam genutzten Benutzern anmelde. Wenn ich mich anmelde, möchte ich meine eigene Konfiguration. Es ist nicht angebracht, eigene Umgebungsvariablen und Aliasnamen zu verwenden .cshrc, nicht zuletzt aufgrund der Anzahl der unterschiedlichen Benutzer auf verschiedenen Boxen, in die ich mich einloggen werde.

Also lassen Sie uns sagen, ich habe mein Skript mit verschiedenen aliasund setenvBefehle an /home/adam/my_scriptund ich möchte es bezogen werden, wenn ich mich einlogge.

Ich habe versucht mit:

ssh user@server1 'source /home/adam/my_script; tcsh' ssh user@server1 '. /home/adam/my_script; tcsh' 

und auch dies:

ssh user@server1 /home/adam/my_script ssh user@server1 'csh -c /home/adam/my_script' 

Wenn tcsh(ohne kaufmännisches Und) am Ende steht my_script, funktioniert aber keine Kombination wie erwartet. Entweder sind die Umgebungsvariablen und Aliasnamen nicht vorhanden, oder die Shell verhält sich merkwürdig, als gäbe es keine Zeileneingabeaufforderung.

Was mache ich falsch?

0
Ich würde denken, dass dies funktionieren sollte: `ssh -t user @ server1 'source / home / adam / my_script; tcsh`` - füge `-t` hinzu glenn jackman vor 9 Jahren 2
Die Umgebungsvariablen funktionieren, aber die Aliase scheinen nicht zu funktionieren. Ich vermute, sie werden nicht von Kindermuscheln geerbt. Doddy vor 9 Jahren 0
Sie müssten Ihre tcsh-Manpage überprüfen. Was ich in einer ähnlichen Situation mache, ist das Bearbeiten der .bashrc, um eine Funktion hinzuzufügen, die mein Konfigurationsskript bezieht. Also logge ich mich ein, tippe "jackman" ein und bin eingerichtet. glenn jackman vor 9 Jahren 0

0 Antworten auf die Frage