Passe comandos como entrada para outro comando (su, ssh, sh, etc)
Eu tenho um script em que preciso iniciar um comando e depois passar alguns comandos adicionaiscomo comandos para esse comando. eu tentei
su
echo I should be root now:
who am I
exit
echo done.
... mas não funciona: osu
consegue, mas o prompt de comando está me encarando. Se eu digitarexit
no prompt, oecho
ewho am i
etc comece a executar! E aecho done.
não é executado.
Da mesma forma, eu preciso que isso funcionessh
:
ssh remotehost
# this should run under my account on remotehost
su
## this should run as root on remotehost
whoami
exit
## back
exit
# back
Como eu resolvo isso?
Estou procurando respostas que resolvam isso de uma maneira geral e que não são específicas parasu
oussh
em particular. A intenção é que essa questão se torne umcanônico para esse padrão em particular.