Escapador de Argumentos Shell
Escapa um argumento para uso seguro em comandos bash/sh, envolvendo em aspas simples e tratando aspas internas.
Saída segura para shell (aspas simples):
Escapar argumento para o shell com aspas simples
Cole o texto e a página devolve a forma segura de passá-lo como um único argumento no shell. A técnica é envolver tudo em aspas simples e tratar a própria aspa simples de um jeito específico: fechar a citação, emitir uma aspa escapada com barra invertida, e reabrir. É feio de ler e é a maneira correta.
O motivo de escolher aspas simples é que dentro delas o shell POSIX não interpreta nada — nem variável, nem substituição de comando, nem sequer a barra invertida. Não existe escape dentro de aspas simples, e é essa ausência que torna a citação previsível: qualquer byte, incluindo quebra de linha, dólar, crase e ponto e vírgula, passa literal.
A comparação com aspas duplas explica o resto. Dentro delas, dólar, crase e barra invertida continuam ativos, então texto vindo de fora pode executar comando. É a diferença entre passar um nome de arquivo esquisito e abrir uma injeção de shell. Quando o texto vem de usuário, log ou banco, aspas simples com esse escape é o padrão a seguir.
Perguntas frequentes
Por que não usar barra invertida em cada caractere especial?
Existe byte que não dá para passar?
Isso vale para PowerShell e cmd?
Ferramentas Relacionadas
Gerador de Prompt Bash (PS1)
Compõe PS1 com cores ANSI, usuário, host, diretório, branch git e exit code do último comando. Live preview do prompt.
Escape / Unescape JavaScript
Escape strings JavaScript adicionando barras invertidas em caracteres especiais e converta de volta ao original.
Escape / Unescape XML
Escape caracteres especiais XML (<, >, &, ", ') para entidades e converta entidades XML de volta para texto.
Gerador de .zshrc Mínimo
Monta um .zshrc enxuto sem Oh My Zsh: histórico, completion, prompt simples com branch git e PATH.
Gerador de Aliases Bash/Zsh
Lista predefinida de aliases úteis (ll, la, gs, gd, gco, mkcd, ip) prontos para colar no .bashrc ou .zshrc.
Escape / Unescape HTML
Escape caracteres especiais HTML (<, >, &, ", ') para entidades HTML e converta entidades de volta para texto.