Ssh, conserver le répertoire

Résolu
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'ai diverses machines, et je voudrai que lorsque je me connecte de l'une à l'autre par ssh, je retombe directement sur le répertoire courant.
je pensais faire un ssh machine "cd $PWD", mais je n'arrive pas à trouver la bonne option pour que ça fonctionne.
Merci de votre aide.
A voir également:

5 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
et si tu fais
ssh machine "cd $PWD ; $SHELL"
1
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Merci dubeck ! c'est presque ça.
Là je n'ai pas de prompt ni mes options de shell, mais je devrais trouver.
Ensuite, un petit script genre sshCD machine pour pas avoir à tout retaper à chaque fois et ça le fera.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
ssaye
$SHELL -l
pour avoir un login shell
parce qu'il y a une commande, il n'y a pas de vrai login, donc pas de tty
essayie source ~/.bashrc
mais par ex. vim ne va pas démarrer
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
ssh machine "cd $PWD ; $SHELL -li"
fonctionne pas trop mal (vi fonctionne même si il râle). Je ne charge pas le bon fichier .basrc.perso, mais c'est à cause d'une sauce propre au système.
Je ne vois pas comment passer ton source...
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
un login shell (-l) exécute ~/.bash_profile, ~/.bash_login, ~/.profile si ils existent, mais pas .bashrc
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Bien vu ! ça explique pas mal de chose que j'avais du mal à comprendre !
Par contre, avec juste -i, je n'ai pas l'historique et tout le toutim. (ton histoire de tty je pense)
J'ai trouver, l'option -t donne ce que j'attends. Donc, en résumé :
ssh -t <machine> "cd $PWD;$SHELL -i"
Et en plus de ça je n'ai plus qu'un seul "exit" à faire pour quitter la machine. Parfait !
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Euh... sans vouloir te contrarier, cd $PWD, changera quoi à l'affaire ? ;-))
0
swed
 
Bonjour,

D'après ce que je comprend, tu souhaite te connecter à la machine B depuis A.
Et arriver sur B dans le même répertoire que tu étais sur A.

Dans ton cas, le "cd $PWD" est exécuté sur la machine B, donc c'est le $PWD de B qui est pris en compte.
Pour ça que jipicy disait qu'un "cd $PWD" ne servait à rien...

Il faudrait faire : ssh machine "cd 'echo $PWD'"
Pour arriver sur B dans le même répertoire que A...

Cordialement, M.
0
swed
 
PS: c'est des cotes "inverses" autour du 'echo', mais apparemment ca passe pas dans le forum...
Je re-tente :
ssh machine "cd 'echo $PWD'"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
ok, merci, je connais le principe.
Chez moi, il fait le développement de variable avant d'envoyer la commande. Je fais :
ssh -t machine "cd $PWD;pwd"
et sur la machine distante j'ai bien le même répertoire. Le problème c'est que l'option -t ferme la connexion.
ssh machine "cd $PWD"
me donne l'erreur :
stty: standard input: Invalid argument
0