Często loguję się na serwerze, a następnie cd do określonego katalogu. Czy można uprościć te dwa polecenia w jedno?
ssh bob@foo
cd /home/guest
Jeśli to możliwe, chciałbym uniknąć zmiany czegokolwiek w „foo”, ponieważ będę musiał to wyczyścić z administratorem serwera. Używam bash, ale jestem otwarty na odpowiedzi w innych powłokach.
&> /dev/null
. Zapobiega wyświetlaniu się komunikatów o błędach na wypadek, gdyby cd nie zmienił katalogu na katalog / home /. Jeśli chcesz zobaczyć te wiadomości, możesz to po prostu wykluczyć.>&
i&>
są takie same w Bash. Ten ostatni styl jest jednak preferowany.Działa to z OpenSSH:
Ostatni argument działa w powłoce logowania.
-t
Flaga przekazanessh
siłyssh
przydzielić pseudo-koniec, który jest niezbędny dla interaktywnej powłoki.-l
Flaga przekazana dobash
startów bash jako powłokę logowania .źródło
... && exec bash -l
Możesz to zrobić w ten sposób, podobnie jak w rozwiązaniu @ EvanTeitelman:
Lub jeśli nie znasz powłoki na drugim końcu:
Lub tak:
źródło