Escape de argumentos de shell

Coloque aspas com segurança em qualquer string para POSIX sh/Bash/Zsh (aspas simples), ANSI-C $'…' do Bash ou PowerShell – ou interprete palavras de shell de volta.

19 caracteres · 19 bytes (UTF-8)

0 caracteres · 0 bytes (UTF-8)

Executa totalmente no seu navegador. Seus dados nunca são enviados.

O que é Escape de shell?

Transforma qualquer texto em um único argumento de shell que o shell repassa sem alterações – incluindo aspas, $, acentos graves, espaços e quebras de linha. Suporta shells POSIX, as aspas ANSI-C do Bash/Zsh e o PowerShell, e consegue interpretar palavras com aspas de volta.

Como usar Escape de shell

  1. Escolha Escapar ou Remover escape.
  2. Selecione o Tipo de shell: POSIX sh/Bash/Zsh, Bash/Zsh ANSI-C ou PowerShell.
  3. Opcionalmente, trate cada linha como um argumento separado ou sempre adicione aspas.
  4. Cole o valor em Entrada e copie o argumento com aspas de Saída.

Exemplo

Entrada
It's $HOME
Saída
'It'\''s $HOME'

Quando usar Escape de shell

Use-o ao montar comandos que contêm nomes de arquivo, senhas ou entradas de usuário – em scripts, comandos SSH, configurações de CI ou documentação. O cmd.exe do Windows não é suportado, porque não tem um esquema de aspas seguro para todas as entradas. Em programas, prefira passar arrays de argumentos (por exemplo execFile, subprocess.run([...])) a montar strings de shell.

Como funciona Escape de shell

O modo POSIX envolve o texto em aspas simples, dentro das quais nada é especial, e escreve cada ' como '\'' (fecha aspas, aspa com escape, reabre) – a mesma abordagem do shlex.quote do Python. Palavras simples formadas só por A–Z a–z 0–9 _ @ % + = : , . / - ficam sem aspas, a menos que você peça. O modo ANSI-C gera $'…' com escapes \n, \t, \' e \xHH, deixando os caracteres de controle visíveis. O modo PowerShell usa aspas simples e duplica cada aspa simples (inclusive as tipográficas ‘ ’). O modo de remoção de escape interpreta as palavras como o shell faz (aspas, barras invertidas, $'…') sem realizar nenhuma expansão.

Casos de Uso Comuns

  • Passar a um comando um nome de arquivo com espaços ou aspas
  • Embutir um payload JSON em um comando curl
  • Colocar aspas em argumentos para ssh host "command"
  • Entender o que uma linha de comando complexa com aspas realmente passa

Nota de Segurança

Aspas corretas só evitam injeção de comandos quando o valor é usado como um único argumento; elas não tornam seguro um comando inseguro.

Perguntas Frequentes

Por que não usar simplesmente aspas duplas?

Dentro de aspas duplas, o shell ainda expande $VAR, acentos graves e \. Aspas simples desativam toda expansão, por isso são seguras para qualquer texto.

O que significa '\''?

Encerra a parte entre aspas simples, acrescenta uma aspa literal com escape e começa uma nova parte entre aspas simples. O shell junta os pedaços em um único argumento.

O cmd.exe do Windows é suportado?

Não. O cmd.exe não tem um esquema de aspas que proteja de forma confiável caracteres como % e ^ em todos os contextos. Use o modo PowerShell ou evite o shell.

Próximos passos recomendados

Explore mais categorias