3

Я ищу, чтобы написать псевдоним для следующих двух команд:

sudo su - user
ssh somewhere

я пробовал

alias jump='sudo su - user; ssh '

а затем использовать это как

jump somewhere

но это не работает Есть ли варианты или это невозможно?

1 ответ1

1

Ваш ssh будет работать после завершения sudo su , поэтому ваш путь не работает. Если вам разрешено запускать sudo ssh то это, вероятно, будет работать:

alias jump='sudo -u user ssh '
jump somewhere

В качестве альтернативы su -c . Он не выделяет tty, но ssh -tt может его форсировать. Я не уверен, что все будет работать правильно, хотя. Псевдониму потребуются тяжелые цитаты и избегание безумия, это намного проще с функцией:

function jump { sudo su - -c 'ssh -tt "$@"' user su "$@"; }
jump somewhere

Не забудьте unalias jump , если псевдоним еще определен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .