Aqui está uma boa explicação .
Então eu adaptei o script para
hostname
echo -n "Make your choice :"
read choice
echo "You typed " ${choice}
echo done
e isso não funcionou.
então mudei o script para o controle remoto para evitar o redirecionamento local no ssh.
(Meus comandos estão em um arquivo chamado f )
cat f | ssh [email protected] 'cat >remf'
ssh user@remotehost bash remf
Isso funcionou. Aqui está a saída:
christian@clafujiu:~/tmp$ ssh localhost bash tmp/f
christian@localhost's password:
Linux clafujiu 2.6.32-52-generic #114-Ubuntu SMP Wed Sep 11 19:00:15 UTC 2013 i686 GNU/Linux
Sun Nov 10 14:58:56 GMT 2013
Make your choice :abc
You typed abc
done
Como @terdon mencionou que a intenção original era executar scripts locais remotamente, a cópia remota pode ser automatizada, isso é apenas um exemplo, tudo em uma linha.
REMID='cat f |ssh user@remotehost 'cat > remf_$$; echo $$'' ;ssh [email protected] "bash remf_${REMID} ; rm -v remf_${REMID}"