Échappement d'arguments shell
Citez n'importe quelle chaîne en toute sécurité pour POSIX sh/Bash/Zsh (apostrophes), Bash ANSI-C $'…' ou PowerShell, ou analysez des mots shell cités pour retrouver leurs valeurs.
19 caractères · 19 octets (UTF-8)
0 caractères · 0 octets (UTF-8)
S'exécute entièrement dans votre navigateur. Vos données ne sont jamais envoyées.
Qu'est-ce que Échappement shell ?
Transforme n'importe quel texte en un seul argument shell que le shell transmet sans modification, avec guillemets, $, accents graves, espaces et sauts de ligne. Il prend en charge les shells POSIX, les guillemets ANSI-C de Bash/Zsh et PowerShell, et peut analyser des mots cités en retour.
Comment utiliser Échappement shell
- Choisissez Échapper ou Déséchapper.
- Sélectionnez le Type de shell : POSIX sh/Bash/Zsh, ANSI-C Bash/Zsh ou PowerShell.
- Si besoin, traitez chaque ligne comme un argument distinct ou toujours ajouter des guillemets.
- Collez la valeur dans Entrée et copiez l'argument cité depuis Sortie.
Exemple
It's $HOME
'It'\''s $HOME'
Quand utiliser Échappement shell
Utilisez-le pour construire des commandes contenant des noms de fichiers, des mots de passe ou des saisies utilisateur, dans des scripts, des commandes SSH, des configurations CI ou de la documentation. cmd.exe de Windows n'est pas pris en charge car il n'offre aucune citation sûre pour toutes les entrées. Dans vos programmes, préférez passer des tableaux d'arguments (par exemple execFile, subprocess.run([...])) plutôt que construire des chaînes shell.
Comment fonctionne Échappement shell
Le mode POSIX entoure le texte d'apostrophes, à l'intérieur desquelles rien n'est spécial, et écrit chaque ' sous la forme '\'' (fermeture, apostrophe échappée, réouverture), comme shlex.quote de Python. Les mots simples composés uniquement de A–Z a–z 0–9 _ @ % + = : , . / - restent sans guillemets, sauf si vous en demandez. Le mode ANSI-C produit $'…' avec les échappements \n, \t, \' et \xHH, ce qui rend les caractères de contrôle visibles. Le mode PowerShell utilise des apostrophes et double chaque apostrophe (y compris les typographiques ‘ ’). Le mode déséchappement analyse les mots comme le fait le shell (guillemets, barres obliques inverses, $'…') sans effectuer aucune expansion.
Cas d'utilisation courants
- Passer à une commande un nom de fichier contenant des espaces ou des guillemets
- Intégrer une charge utile JSON dans une commande
curl - Citer des arguments pour
ssh host "command" - Comprendre ce que transmet réellement une ligne de commande citée complexe
Note de Sécurité
Une citation correcte n'empêche l'injection de commandes que si la valeur citée est utilisée comme un seul argument ; elle ne rend pas sûre une commande dangereuse.
Questions Fréquentes
Pourquoi ne pas simplement utiliser des guillemets doubles ?
Entre guillemets doubles, le shell développe encore $VAR, les accents graves et \. Les apostrophes désactivent toute expansion, ce qui les rend sûres pour un texte quelconque.
Que signifie '\'' ?
Cela termine la partie entre apostrophes, ajoute une apostrophe littérale échappée, puis rouvre une partie entre apostrophes. Le shell réunit les morceaux en un seul argument.
Windows cmd.exe est-il pris en charge ?
Non. cmd.exe n'a aucune citation qui protège de façon fiable des caractères comme % et ^ dans tous les contextes. Utilisez le mode PowerShell ou évitez le shell.