Isso é um comando shell que você executa sobre ssh
já (interpretado pelo shell de login do usuário remoto), não é necessário iniciar outro shell em cima disso. Supondo que o shell seja parecido com Bourne ou csh:
echo "$$"; exec sleep 10
deve ser o suficiente. Não há necessidade de instalar o bash
no host remoto. ssh
também relatará o status de saída do comando remoto, sem necessidade de imprimi-lo. Mas se você precisar, você pode fazer:
sleep 10 & echo "$!"; wait; echo "$?"
Não para shells semelhantes a csh, já que $?
é $status
.
Se você não pode garantir que o shell de login do usuário remoto seja semelhante ao Bourne, você poderia fazer:
exec sh -c 'sleep 10 & echo "$!"; wait; echo "$?"'
Esse comando deve ser compatível com os shells das famílias Bourne, csh e rc, pelo menos.