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
- Escolha Escapar ou Remover escape.
- Selecione o Tipo de shell: POSIX sh/Bash/Zsh, Bash/Zsh ANSI-C ou PowerShell.
- Opcionalmente, trate cada linha como um argumento separado ou sempre adicione aspas.
- Cole o valor em Entrada e copie o argumento com aspas de Saída.
Exemplo
It's $HOME
'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.