Я часто подключаюсь к серверу, затем перехожу в определенный каталог. Можно ли упростить эти две команды в одну?
ssh bob@foo
cd /home/guest
Я хотел бы по возможности избегать изменений в 'foo', так как мне придется это выяснить у администратора сервера. Я использую bash, но я открыт для ответов в других оболочках.
&> /dev/null
. Это предотвращает появление любого сообщения об ошибке, которое может появиться на случай, если cd не сможет изменить каталог на / home / directory. Если вы хотите видеть эти сообщения, вы можете просто исключить это.>&
и&>
то же самое в Баш. Последний стиль предпочтительнее, хотя.Это работает с OpenSSH:
Последний аргумент выполняется в вашей оболочке входа в систему.
-t
Флаг передаетсяssh
силы ,ssh
чтобы выделить псевдо-терминал, который необходим для интерактивной оболочки. Переданный-l
флагbash
запускает bash как оболочку входа в систему .источник
... && exec bash -l
Вы также можете сделать это так, как в решении @ EvanTeitelman:
Или, если вы не знаете оболочку на другом конце:
Или вот так:
источник