Je me connecte souvent à un serveur, puis cd dans un répertoire spécifique. Est-il possible de simplifier ces deux commandes en une seule?
ssh bob@foo
cd /home/guest
Je voudrais éviter de changer quoi que ce soit sur 'foo' si possible, car je devrai tout effacer avec l'administrateur du serveur. J'utilise bash, mais je suis ouvert aux réponses dans d'autres coquilles.
&> /dev/null
. Il empêche tout message d'erreur pouvant s'afficher au cas où cd ne parviendrait pas à changer de répertoire en / home / directory. Si vous voulez voir ces messages, vous pouvez simplement les exclure.>&
et&>
sont les mêmes dans Bash. Ce dernier style est toutefois préféré.Cela fonctionne avec OpenSSH:
Le dernier argument est exécuté dans votre shell de connexion. Le
-t
drapeau passé auxssh
forcesssh
pour allouer un pseudo-terminal, ce qui est nécessaire pour un shell interactif. Le-l
drapeau passé àbash
commence par bash en tant que shell de connexion .la source
... && exec bash -l
Vous pouvez également le faire de la manière suivante, similaire à la solution de @ EvanTeitelman:
Ou si vous ne connaissez pas la coquille à l'autre bout:
Ou comme ceci:
la source