Existem algumas coisas não intuitivas acontecendo aqui.
Primeiro, seu comando para o host remoto é analisado como
(sh -c echo starting); who -b; date; echo $SHELL
As aspas externas são removidas, deixando apenas echo starting
em sh
, e é por isso que $SHELL
está definido como /bin/bash
.
Em segundo lugar, "início" não é impresso pelas razões apresentadas nesta resposta: link
No entanto, você pode corrigir esses problemas simplesmente colocando o comando em outro conjunto de citações, deixando-o com
ssh myhost sh -c '"echo starting; who -b ; date; echo $SHELL"'
Embora eu argumente, é mais claro se você mover as aspas simples para abranger o comando sh
:
ssh myhost 'sh -c "echo starting; who -b ; date; echo $SHELL"'