Я ищу, чтобы написать псевдоним для следующих двух команд:
sudo su - user
ssh somewhere
я пробовал
alias jump='sudo su - user; ssh '
а затем использовать это как
jump somewhere
но это не работает Есть ли варианты или это невозможно?
Я ищу, чтобы написать псевдоним для следующих двух команд:
sudo su - user
ssh somewhere
я пробовал
alias jump='sudo su - user; ssh '
а затем использовать это как
jump somewhere
но это не работает Есть ли варианты или это невозможно?
Ваш 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
, если псевдоним еще определен.