AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1094756
Accepted
Ramon Smits
Ramon Smits
Asked: 2022-02-26 01:51:19 +0800 CST2022-02-26 01:51:19 +0800 CST 2022-02-26 01:51:19 +0800 CST

Execute comandos que são executados em um shell como um script

  • 772

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.sharquivo 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.

linux shell escaping shell-scripting
  • 1 1 respostas
  • 189 Views

1 respostas

  • Voted
  1. Best Answer
    Phill W.
    2022-02-26T02:04:39+08:002022-02-26T02:04:39+08:00

    Eu colocaria dólares em donuts que você editou este arquivo em ou de uma máquina Windows .

    Linux usa \x0a (código ASCII 10) para separar linhas dentro de um arquivo (ou script).
    O Windows usa a combinação de \x0d ("Carriage_Return", código ASCII 13) e \x0a ("Line Feed", ASCII 10) para fazer o mesmo trabalho.

    Dê um arquivo editado pelo Windows para uma máquina Linux e ela verá cada linha como tendo um \x0d estranho no final.

    Adquira um editor decente do Windows (o NotePad++ é gratuito e altamente recomendado) ou aprenda a usar o vi . Claro, ele tem sua própria curva de aprendizado, mas alguns de seus recursos podem surpreendê-lo!

    • 2

relate perguntas

  • Protegendo um novo servidor Ubuntu [fechado]

  • (Soft) RAID 6 no Ubuntu 7.10, devo migrar para 8.10?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve