São suas aspas duplas no comando
ssh localhost -t "bash -c '(for i in 1 2 3 4 5; do sleep $i;done)&'"
O shell do qual você está chamando o comando tenta substituir $i
antes que toda a linha de comando seja executada. Normalmente $i
não está definido, portanto, é interpretado como
ssh localhost -t "bash -c '(for i in 1 2 3 4 5; do sleep ;done)&'"
que é executado com 5 mensagens de erro dizendo
sleep: missing operand
Try 'sleep --help' for more information.
A solução é mascarar o $
ou usar aspas simples externas:
ssh localhost -t "bash -c '(for i in 1 2 3 4 5; do sleep \$i;done)&'"
ssh localhost -t 'bash -c '\''(for i in 1 2 3 4 5; do sleep $i;done)&'\'