Linux & Shell

Analyse des argumentsRepérer les limites des mots

Examinez les mots, les chemins ou les noms de variables sans exécuter de commande.

analyse des arguments

Texte source

Éléments analysés

La saisie reste dans ce navigateur. Aucune commande n’est exécutée.

Options de saisie

Dialecte : citations communes à POSIX sh et Bash. Les tokens sont des mots lexicaux, pas argv à l’exécution. Les expansions et opérateurs shell sont refusés.

Jusqu’à 65 536 unités UTF-16 et 512 éléments. Affichage par groupes de 50.

Résultat périmé. Relancez l’analyse avant l’export.

L’analyse des arguments aide à comprendre pourquoi un nom de fichier contenant des espaces devient plusieurs mots, ou pourquoi un argument vide disparaît. Comparez le fragment d’origine à sa valeur décodée avant de modifier le programme qui construit la commande.

Deux autres modes affichent le PATH dans son ordre initial et les noms des variables d’environnement. Une affectation shell, une valeur brute de PATH et des lignes NAME=VALUE sont des formats distincts : changer de mode ne transforme pas automatiquement le texte.

Pourquoi utiliser cette analyse des arguments ?

Rendre les frontières visibles avant de modifier la source.

Un argument vide reste présent

Cette analyse des arguments conserve les mots entre guillemets vides et réunit les fragments adjacents. Elle associe chaque valeur à son texte source et à sa position. Un guillemet ouvert provoque une erreur, jamais une réparation silencieuse de la commande.

Des fragments groupés deviennent des éléments distincts, avec un cadre vide conservé.

Supprimer les doublons sans trier

Le PATH garde l’écriture et l’ordre de ses éléments. Un doublon renvoie à sa première occurrence, tandis que les éléments vides restent visibles. Suppression et déplacement passent par un aperçu ; une annulation restaure ensuite la saisie et son résultat.

Un dossier répété disparaît, les autres dossiers et un emplacement vide gardent leur ordre.

Trois vérifications avant de conserver le résultat

01

Choisir la grammaire

Le mode commande couvre les règles de citation communes à POSIX sh et Bash. PATH attend uniquement la valeur de la variable. Le mode noms attend une affectation NAME=VALUE par ligne. Votre saisie reste en place lors du changement de mode.

  • Le séparateur point-virgule ne rend pas la grammaire Windows compatible.
02

Lire les positions et les éléments vides

Les valeurs sont représentées comme des chaînes JSON pour distinguer espaces, chaîne vide et retour à la ligne. Les chemins répétés indiquent leur première occurrence ; les noms répétés ne sont pas écrasés.

  • Lignes et colonnes commencent à un ; les décalages source utilisent les unités UTF-16.
03

Appliquer seulement après aperçu

Déduplication, déplacement, exemple et effacement présentent un aperçu. Le calcul automatique attend 350 ms après une modification. Désactivez-le pour utiliser le bouton ou Ctrl/Cmd+Entrée.

  • Une modification de texte ou de paramètre bloque les exports jusqu’au prochain résultat valide.

Mots, chemins de recherche et noms de variables

Comparer les fragments cités

Les apostrophes conservent leur contenu. Les guillemets doubles protègent les espaces et suivent les règles POSIX limitées de l’antislash. Les fragments contigus sont réunis ; -1 ne devient pas une option supposée du programme.

Voir les doublons dans PATH

Choisissez explicitement deux-points ou point-virgule. La liste conserve l’ordre, signale les répétitions et montre les éléments vides. Seuls les doublons non vides strictement identiques sont retirés. Un déplacement touche deux positions et demande confirmation.

Inventorier les noms uniquement

Les noms ASCII, le préfixe export facultatif, les lignes vides et les commentaires occupant une ligne entière sont acceptés. Chaque nom répété garde sa position. Les valeurs après le signe égal ne sont ni interprétées ni incluses dans le rapport JSON.

Exporter toute la liste

L’affichage progresse par groupes de 50 éléments, mais le rapport contient toujours l’ensemble des résultats et leurs positions. Une erreur empêche de copier un résultat partiel comme si l’analyse s’était terminée correctement.

Ce que la vérification ne remplace pas

Des mots lexicaux, pas le véritable argv
Les mots ressemblant à des affectations, comme NAME=value, restent dans la liste. Aucun schéma d’options, alias, commande interne ou mot réservé n’est interprété. Une décomposition réussie ne prouve donc pas que le programme acceptera l’appel.
Aucune exécution ni expansion
Les opérateurs et caractères d’expansion non cités sont refusés. Dollar et accent grave non échappés le sont également dans les guillemets doubles. Variables, glob, substitutions et citations ANSI-C ne sont pas évalués ; une citation ou un échappement approprié peut les rendre littéraux.
Une seule commande logique
Pipelines, redirections, listes de commandes et retours à la ligne séparant plusieurs commandes sont hors périmètre. Antislash suivi de LF continue une ligne, et LF final est accepté. Un CR dans une commande est rejeté au lieu d’être normalisé.
Des chemins laissés intacts
Aucun retrait d’espace, changement de casse, normalisation des barres ni accès au système de fichiers. /bin et /bin/ restent distincts. Un élément vide du PATH POSIX représente le répertoire courant et est conservé. Les guillemets et références de variables dans la valeur brute restent littéraux.
Pas de validation dotenv
Les valeurs d’environnement sont opaques, même si leurs guillemets ne se ferment pas. Une ligne de continuation sans NAME= est refusée. Modifier les valeurs, les développer ou changer l’environnement système demande un outil différent.
Des limites propres à la page
L’entrée est limitée à 65 536 unités UTF-16 et 512 éléments. Il ne s’agit pas des limites du système. Windows CRT, cmd, PowerShell, téléversement de fichiers, recherche de programmes et liens contenant la saisie ne sont pas pris en charge.

Questions sur l’analyse des arguments

Comment garder un nom de fichier avec des espaces dans un seul argument ?

Dans la syntaxe prise en charge, entourez le nom d’apostrophes ou de guillemets doubles. Comparez ensuite le fragment source et le mot obtenu. Le résultat montre la frontière lexicale, sans vérifier comment un autre script utilisera ensuite cette valeur.

Comment transmettre plusieurs arguments sans perdre leurs frontières ?

Chaque argument doit conserver sa place, y compris lorsqu’il est vide ou contient des espaces. Une représentation en liste est différente d’une chaîne reconstruite par concaténation. Ici, les fragments voisins se réunissent et les espaces non protégés séparent les mots ; aucune commande n’est reconstruite.

Les guillemets dans une variable deviennent-ils de la syntaxe shell ?

Pas simplement parce que le contenu de la variable est développé. Les guillemets écrits dans le code source et ceux stockés dans une valeur appartiennent à des étapes différentes. Cette page lit le texte fourni une seule fois et n’utilise pas eval pour le réinterpréter.

Peut-on supprimer les doublons de la variable PATH ?

La page propose une suppression conservatrice : retirer les occurrences suivantes d’un même texte non vide, en gardant la première et tous les éléments vides. Elle ne modifie pas la configuration Windows ou Unix ; vérifiez l’aperçu avant de réutiliser la valeur.

Faut-il mettre des guillemets autour de toute la liste PATH ?

Dans un code shell, citer une affectation et inspecter la valeur obtenue sont deux opérations différentes. Le mode PATH attend la valeur brute, sans guillemets ajoutés autour de la liste. Il ne les enlève pas et ne développe pas les références de variables.

Un cas d’adresse ou de préfixe manque ?

Revenir au texte à vérifier

Reprenez l’analyse des arguments, comparez les fragments et leurs positions, puis exportez le rapport encore à jour.

Aucune commande exécutée, aucun environnement système modifié.