Escapador de argumentos de shell
Entrecomilla cualquier cadena de forma segura para POSIX sh/Bash/Zsh (comillas simples), ANSI-C $'…' de Bash o PowerShell, o analiza palabras de shell entrecomilladas.
19 caracteres · 19 bytes (UTF-8)
0 caracteres · 0 bytes (UTF-8)
Se ejecuta completamente en tu navegador. Tus datos nunca se suben.
¿Qué es Escape de shell?
Convierte cualquier texto en un argumento de shell único que el shell transmite sin cambios, incluidas comillas, $, comillas invertidas, espacios y saltos de línea. Admite shells POSIX, el entrecomillado ANSI-C de Bash/Zsh y PowerShell, y puede analizar palabras entrecomilladas de vuelta.
Cómo usar Escape de shell
- Elige Escapar o Desescapar.
- Selecciona el Intérprete (shell): POSIX sh/Bash/Zsh, Bash/Zsh ANSI-C o PowerShell.
- Si quieres, activa Cada línea es un argumento distinto o Añadir comillas siempre.
- Pega el valor en Entrada y copia el argumento entrecomillado de Salida.
Ejemplo
It's $HOME
'It'\''s $HOME'
Cuándo usar Escape de shell
Úsalo al construir comandos que contienen nombres de archivo, contraseñas o entrada de usuarios: en scripts, comandos SSH, configuraciones de CI o documentación. cmd.exe de Windows no está soportado porque no tiene un entrecomillado seguro para todas las entradas. En los programas, es preferible pasar arrays de argumentos (p. ej., execFile, subprocess.run([...])) en lugar de construir cadenas de shell.
Cómo funciona Escape de shell
El modo POSIX envuelve el texto en comillas simples, dentro de las cuales nada es especial, y escribe cada ' como '\'' (cerrar comillas, comilla escapada, reabrir), el mismo enfoque que shlex.quote de Python. Las palabras simples formadas solo por A–Z a–z 0–9 _ @ % + = : , . / - se dejan sin comillas salvo que pidas comillas. El modo ANSI-C produce $'…' con escapes \n, \t, \' y \xHH, que hacen visibles los caracteres de control. El modo PowerShell usa comillas simples y duplica cada comilla simple (incluidas las tipográficas ‘ ’). El modo desescapar analiza las palabras como lo hace el shell (comillas, barras invertidas, $'…') sin realizar ninguna expansión.
Casos de Uso Comunes
- Pasar a un comando un nombre de archivo con espacios o comillas
- Incrustar un payload JSON en un comando
curl - Entrecomillar argumentos para
ssh host "command" - Entender qué pasa realmente una línea de comandos con entrecomillado complejo
Nota de Seguridad
Un entrecomillado correcto evita la inyección de comandos solo cuando el valor entrecomillado se usa como un único argumento; no convierte en seguro un comando inseguro.
Preguntas Frecuentes
¿Por qué no usar simplemente comillas dobles?
Dentro de comillas dobles el shell sigue expandiendo $VAR, las comillas invertidas y \. Las comillas simples desactivan toda expansión, por eso son seguras para cualquier texto.
¿Qué significa '\''?
Termina la parte entre comillas simples, añade una comilla literal escapada y empieza una nueva parte entre comillas simples. El shell une las piezas en un solo argumento.
¿Se admite cmd.exe de Windows?
No. cmd.exe no tiene un entrecomillado que proteja de forma fiable caracteres como % y ^ en todos los contextos. Usa el modo PowerShell o evita el shell.