A execução dos seguintes comandos em um shell é executada sem problemas:
ssh user@machine systemctl status my-service.service
ssh user@machine sudo systemctl stop my-service.service
scp -r ./my-service/* user@machine:/home/user/my-service
ssh user@machine chmod +x /home/user/my-service/my-service
ssh user@machine sudo systemctl start my-service.service
ssh user@machine sudo systemctl status my-service.service
No entanto, colocar isso em um deploy.sh
arquivo faz com que nenhum dos itens acima seja executado.
Erros:
- O nome de unidade inválido "my-service" foi escapado como "my-service\x0d" (talvez você deva usar systemd-escape?)
- A unidade my-service\x0d.service não foi encontrada.
- O nome de unidade inválido "my-service.service" foi escapado como "my-service.service\x0d" (talvez você deva usar systemd-escape?)
- Falha ao parar my-service\x0d.service: Unidade my-service.service\x0d.service não carregada. : Nenhum arquivo ou diretórionlock/
- chmod: não pode acessar '/home/user/my-service/my-service'$'\r': Nenhum arquivo ou diretório
- O nome de unidade inválido "my-service.service" foi escapado como "my-service.service\x0d" (talvez você deva usar systemd-escape?)
- Falha ao iniciar my-service.service\x0d.service: Unidade my-service.service\x0d.service não encontrada. O nome de unidade inválido "my-service.service" foi escapado como "my-service.service\x0d" (talvez você deva usar systemd-escape?)
- A unidade my-service.service\x0d.service não pôde ser encontrada.
Alguns foram quebrados. Parece algo relacionado à fuga. Por alguma razão, adicionar um espaço no final das linhas faz com que funcione, mas ainda não sem erros.
Pesquisando sobre os erros mostra alguns acertos sobre como usá --
-lo e adicioná-lo junto com o espaço à direita faz com que alguns comandos funcionem, mas ainda dando um erro de escape.