ForHosting KIT · Outils pour développeurs

Guillemets argument shell

hello world devient 'hello world', un seul argument sûr pour le shell : espaces, guillemets, astérisques et autres signes spéciaux sont placés entre apostrophes pour que le shell les transmette comme de simples données. L'option inverse rend le texte d'origine. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Texte
hello world
Mode de calcul
Encode
Vous obtenez
Résultat
'hello world'
Encodage
posix_shell
Longueur de l'entrée
11
Longueur de la sortie
13

Cet outil de guillemetage d'arguments shell convertit du texte brut en une forme sûre à coller comme un seul argument POSIX, et inverse le même mappage lorsque vous devez récupérer la chaîne d'origine à partir d'une syntaxe entre guillemets. L'encodage suit la convention des guillemets simples utilisée par des outils comme shlex.quote : une entrée vide devient une paire de guillemets simples vides, les jetons faits uniquement de lettres, chiffres et d'un petit ensemble de ponctuation sûre restent nus, et tout le reste est enveloppé de guillemets simples avec chaque apostrophe interne réécrite en fermeture, guillemet échappé et réouverture pour que le shell ne voie jamais une chaîne ouverte. Le décodage parcourt un mot argv à travers guillemets simples, guillemets doubles avec l'ensemble limité d'échappements POSIX et barres obliques inverses hors guillemets, et échoue clairement sur des guillemets non terminés, une barre finale ou des espaces blancs hors guillemets, afin qu'un fragment de commande à moitié copié ne devienne pas silencieusement le mauvais chemin. Le chemin est pleinement déterministe : le même texte et le même mode produisent toujours le même résultat, sans appels réseau, sans sels aléatoires et sans raccourcis dépendant de la date. Les vérifications simples incluent le guillemetage d'un chemin avec espaces, l'insertion d'une apostrophe dans un mot cité et le rejet d'un fragment entre guillemets doubles qui ne se ferme jamais.

Ce qu'est le guillemetage shell POSIX et ce que renvoie cet outil

Un shell POSIX découpe une ligne de commande en mots et applique des règles de guillemetage avant qu'un programme ne voie argv. Espaces, tabulations et sauts de ligne séparent les mots sauf s'ils sont entre guillemets. Les guillemets simples laissent passer chaque caractère littéralement jusqu'au prochain guillemet simple, d'où la recette classique sûre : envelopper toute la chaîne et empalmer chaque apostrophe interne comme une coupure de quatre caractères qui ferme le guillemet, émet une apostrophe littérale et le rouvre.

Les guillemets doubles autorisent un ensemble réduit d'échappements pour dollar, accent grave, guillemet double, barre oblique inverse et nouvelle ligne, utile pour lire des extraits historiques, mais ce n'est pas le chemin d'encodage préféré sur cette page. Les métacaractères tels qu'astérisque, point d'interrogation, tube, esperluette, point-virgule et opérateurs de redirection changent la grammaire du shell lorsqu'ils apparaissent hors guillemets ; les envelopper de guillemets simples en fait des données ordinaires pour le programme receveur.

Cette page met en œuvre cet ensemble à l'encodage et un reverse soigné au décodage : la réponse est un seul argument, sans expansion de variables, sans globs et sans découpage d'un pipeline complet en plusieurs mots.

Chemins sûrs dans les extraits shell

Guillemetez chemins de fichiers et valeurs contenant espaces, guillemets ou métacaractères avant de les coller dans des scripts shell POSIX, commandes distantes ssh ou lignes docker run.

CI et tests de contrat

Générez des paires déterministes de guillemetage et de décitation pour que les pipelines affirment la même forme sûre POSIX entre langages et versions.

Comment guillemeter une chaîne pour un argument shell POSIX ?

Envoyez la chaîne brute dans text avec mode encode (par défaut). Une entrée vide devient '', les jetons nus sûrs restent sans guillemets et tout le reste est entre guillemets simples avec '\'' pour chaque apostrophe.

Comment déciter un argument shell guillemeté ?

Envoyez le mot guillemeté dans text avec mode decode.

Cela exécute-t-il des commandes shell ?

Non. Cela transforme uniquement le texte pour un usage sûr d'argv. Cela ne lance pas de shell, n'expand pas variables ni globs, et ne découpe pas une ligne de commande complète en plusieurs mots.

Que devient une apostrophe à l'intérieur du texte ?

Entre apostrophes, une apostrophe ne peut pas être échappée : l'outil ferme donc la citation, ajoute une apostrophe précédée d'une barre oblique inverse et rouvre la citation. Ces quatre caractères, '\'', gardent l'argument entier.

Pourquoi certains mots restent-ils sans guillemets ?

Parce qu'ils n'ont besoin d'aucune protection. Un mot fait seulement de lettres, de chiffres et de quelques signes sûrs, comme le point, la barre oblique, le tiret ou les deux-points, est rendu tel quel ; tout autre caractère impose les apostrophes.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/enc/shell-escape

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/enc/shell-escape \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"hello world"}'
{
  "text": "hello world"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.shell_escape",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Ce qu'est le guillemetage shell POSIX et ce que renvoie cet outil

La réponse JSON inclut toujours result pour la chaîne transformée, mode qui répète encode ou decode, encoding fixé à posix_shell, ainsi que input_length et output_length pour que les tests affirment les tailles. Encode signale aussi needs_quotes et apostrophes_escaped ; decode signale quote_segments pour confirmer combien de régions citées ont été consommées. Il n'y a pas d'omission silencieuse partielle pour un guillemet cassé : soit le mot est un guillemetage shell bien formé, soit la requête échoue avec invalid_input.

Comment text et mode sont lus et comment les résultats restent reproductibles

Encode classifie la chaîne : vide devient une paire de guillemets simples vides ; un jeton correspondant à l'ensemble nu sûr de lettres, chiffres et arobase pourcent plus égal deux-points virgule point barre soulignement tiret est renvoyé inchangé car il n'a pas besoin de protection ; tout autre caractère, y compris espace, guillemet ou métacaractère shell, force un enveloppement complet en guillemets simples avec l'empalmage d'apostrophe pour chaque guillemet simple interne. Comme l'enveloppement s'applique en une seule passe de gauche à droite, vous obtenez une forme de guillemetage cohérente alignée sur l'esprit de shlex.quote et les aides shell courantes. Decode parcourt les segments entre guillemets simples, les segments entre guillemets doubles avec l'ensemble limité d'échappements POSIX et les échappements barre oblique inverse hors guillemets qui protègent le caractère suivant ou poursuivent une ligne lorsque le suivant est une nouvelle ligne. Le champ payload préféré est text, avec les alias input, value, s, payload et arg afin que formulaires, chaînes de requête et clients SDK réutilisent le même contrat sans renommer les colonnes. Mode vaut encode par défaut et accepte decode explicitement ; les alias op, direction et action mappent le même interrupteur pour les scripts qui utilisent déjà ces noms, et quote ou unquote sont acceptés comme synonymes. Une barre oblique inverse finale incomplète, un guillemet simple ou double non fermé, ou un espace blanc hors guillemets qui commencerait un second mot argv lève invalid_input avec un message qui nomme le problème. Le plafond de longueur de cent mille caractères maintient la mémoire du Worker prévisible tout en couvrant longs chemins, valeurs d'environnement et la plupart des tampons de collage. Associez l'exécution gratuite dans le navigateur de cette page à l'API tarifée lorsque vous avez besoin du mappage identique dans un pipeline automatisé sans réimplémenter les tables de guillemetage shell. Les entrées invalides renvoient invalid_input et ne sont pas facturées, ce qui garde la validation bon marché tandis que les transformations réussies restent un prix fixe par item à $0.002.

Où le guillemetage d'arguments shell s'intègre dans les flux de développement

Les développeurs rencontrent le guillemetage d'arguments shell lorsqu'ils construisent des commandes distantes, rédigent des extraits d'installation, assemblent des listes d'arguments docker ou ssh, ou stockent des chemins de fichiers pouvant contenir espaces et apostrophes. Les équipes frontend et backend encodent les noms de fichiers fournis par l'utilisateur avant de les insérer dans un modèle shell afin qu'un seul espace ou guillemet ne casse pas la commande environnante ni n'injecte de jetons supplémentaires. Les ingénieurs qualité génèrent des paires encode et decode déterministes pour des tests de contrat, afin qu'un middleware qui revendique un guillemetage sûr ne bascule pas silencieusement vers une table non POSIX entre versions. Les éducateurs utilisent le même outil pour enseigner la différence entre guillemets simples, guillemets doubles, échappements barre oblique inverse, et pourquoi les arguments vides doivent encore apparaître comme une paire de guillemets plutôt que disparaître. Les relecteurs sécurité utilisent des contrôles de guillemets comme hygiène avant de coller des valeurs dans des scripts shell, en rappelant que guillemeter ne remplace pas l'évitement du shell lorsqu'une API de tableau argv directe est disponible. Sur cette page le travail s'exécute entièrement dans votre navigateur ; via l'API chaque consultation réussie coûte $0.002, la validation échouée n'est pas facturée et rien n'est stocké après la réponse. Ce partage — exploration interactive gratuite et API tarifée identique — s'aligne sur le reste du catalogue KIT niveau A et vous permet de passer d'une démo en classe à un pipeline automatisé sans changer le résultat guillemeté. Associez-le à l'échappement de chaînes JSON ou à l'encodage pourcentage d'URL lorsque vous avez besoin de transformations de texte plus larges, et à d'autres points d'extrémité d'encodage pour constituer un petit laboratoire d'outils gratuits et déterministes pour la CI et la documentation.

Nettoyage de fixtures et journaux

Décitez des fragments shell issus de journaux, runbooks ou fichiers dorés pour retrouver de l'Unicode brut dans des diffs lisibles et du code applicatif.

Qu'est-ce qu'un guillemetage mal formé ?

Guillemets simples ou doubles non terminés, barre oblique inverse finale en fin d'entrée et espaces blancs hors guillemets (qui commenceraient un second mot argv) échouent avec invalid_input et ne sont pas facturés.

Combien coûte le guillemeteur d'arguments shell ?

L'outil navigateur est gratuit. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.

Consulter la documentation complète du KIT →