Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:programmation:shells:bash-les-differents-caracteres-speciaux [10/07/2014 07:15] Hypathie [Quotes, apostrophe, guillemets et apostrophe inversée] |
doc:programmation:shells:bash-les-differents-caracteres-speciaux [10/07/2014 07:54] Hypathie [Méta-caractères et métacaractères !] |
||
---|---|---|---|
Ligne 25: | Ligne 25: | ||
**Dans ce tuto** : | **Dans ce tuto** : | ||
* définitions de //shell bash// et liens internes spécifiques au sujets évoqués ; | * définitions de //shell bash// et liens internes spécifiques au sujets évoqués ; | ||
- | * explication sur l’ambiguïté du terme méta-caractère. | + | * explication sur l’ambiguïté du terme métacaractère. |
* définitions de termes associés au shell et liens internes spécifiques au sujets évoqués | * définitions de termes associés au shell et liens internes spécifiques au sujets évoqués | ||
Ligne 320: | Ligne 320: | ||
* **À voir** : [[http://abs.traduc.org/abs-5.0-fr/ch11.html|Guide avancé d'écriture des scripts Bash: 11. Substitution de commandes]] | * **À voir** : [[http://abs.traduc.org/abs-5.0-fr/ch11.html|Guide avancé d'écriture des scripts Bash: 11. Substitution de commandes]] | ||
- | ===== Métacaractères et méta-caractères !===== | + | ===== Métacaractères et "métacaractères" !===== |
==== Définition usuelle de métacaractère et détail ==== | ==== Définition usuelle de métacaractère et détail ==== | ||
* Un métacaractère (en anglais, wild card ou joker) est un caractère qui représente un ou plusieurs autres caractères qui, eux, sont interprétés littéralement. | * Un métacaractère (en anglais, wild card ou joker) est un caractère qui représente un ou plusieurs autres caractères qui, eux, sont interprétés littéralement. | ||
- | Certains caractères spéciaux sont appelés //méta-caractères// ; soit parce qu'ils servent à effectuer des recherches sur les mots ; soient parce qu'ils servent dans les expressions rationnelles; soit encore parce qu'ils représentent symboliquement quelque chose, un fichier, la valeur d'une variable ; finalement parce que ces caractères représentes symboliquement quelque chose; | + | Certains caractères spéciaux sont appelés //métacaractères// ; soit parce qu'ils servent à effectuer des recherches sur les mots ; soient parce qu'ils servent dans les expressions rationnelles; soit encore parce qu'ils représentent symboliquement quelque chose, un fichier, la valeur d'une variable ; finalement parce que ces caractères représentes symboliquement quelque chose; |
- | * D'une part, le wiki [[:doc:programmation:shell:les-metacaracteres|"les métacaractères, ou globs, ou encore patterns"]] présente les méta-caractères ''?'', '';'', ''*'' et les crochets ''[ ]'' qui sont communs aux différents shell. | + | * D'une part, le wiki [[:doc:programmation:shell:les-metacaracteres|"les métacaractères, ou globs, ou encore patterns"]] présente les métacaractères ''?'', '';'', ''*'' et les crochets ''[ ]'' qui sont communs aux différents shell. |
- | Voici un tableau qui regroupe les méta-caractères : | + | Voici un tableau qui regroupe les métacaractères : |
^ Communs à différents shell ^^^ | ^ Communs à différents shell ^^^ | ||
Ligne 337: | Ligne 337: | ||
* D'autre part, man glob et man bash dénomme //caractères génériques//(( Et un enchaînement de motifs génériques est nommée par extension, une expression générique. | * D'autre part, man glob et man bash dénomme //caractères génériques//(( Et un enchaînement de motifs génériques est nommée par extension, une expression générique. | ||
- | En effet, une chaîne de caractères ordinaires est un motif. Et un motif contenant un ou plusieurs "caractères génériques" est appelé un "motif générique".)), ce que nous appellons des métacaractères .\\ Attention à la confusion ! Voir plus bas [[atelier:chantier:bash-les-differents-caracteres-speciaux#definition-particuliere|définition particulière de man bash]]. | + | En effet, une chaîne de caractères ordinaires est un motif. Et un motif contenant un ou plusieurs "caractères génériques" est appelé un "motif générique".)), ce que nous appelons des métacaractères .\\ Attention à la confusion ! Voir plus bas [[atelier:chantier:bash-les-differents-caracteres-speciaux#definition-particuliere|définition particulière de man bash]]. |
* Quant au globbing, cela concerne l'opération qui permet d'invoquer, par un motif générique, une liste de noms de fichiers, pouvant correspondre à ce motifs. | * Quant au globbing, cela concerne l'opération qui permet d'invoquer, par un motif générique, une liste de noms de fichiers, pouvant correspondre à ce motifs. | ||
Ligne 344: | Ligne 344: | ||
Voir : man bash ligne 1914,sq. et man glob | Voir : man bash ligne 1914,sq. et man glob | ||
- | En définitive, dans la suite j'emploierai le terme "métacaractère" comme synonyme de globs simples et bracket. | + | En définitive, dans la suite j'emploierai le terme métacaractère comme synonyme de globs simples et bracket. |
</note> | </note> | ||
Ligne 507: | Ligne 507: | ||
</note> | </note> | ||
- | ==== Méta-caractères, ou opérateurs de contrôle et de redirection ==== | + | ==== "Métacaractères", ou opérateurs de contrôle et de redirection ==== |
===Définition particulière === | ===Définition particulière === | ||
<code text man bash> | <code text man bash> | ||
- | méta-caractère | + | métacaractère |
Un caractère qui, non protégé, sépare les mots. Un de ceux-ci : | Un caractère qui, non protégé, sépare les mots. Un de ceux-ci : | ||
Ligne 522: | Ligne 522: | ||
>On parle également de //token// (jeton). | >On parle également de //token// (jeton). | ||
- | * Attention dans ce sens, le terme de méta-caractère ne renvoie pas aux caractères génériques (man bash) ou au globbing et pattern mais fait référence à l'analyse et au traitement par le shell de la ligne de commande. | + | * Attention dans ce sens, le terme de "métacaractère" ne renvoie pas aux caractères génériques (man bash) ou au globbing et pattern mais fait référence à l'analyse et au traitement par le shell de la ligne de commande. |
* L'ordre d'analyse est le suivant : | * L'ordre d'analyse est le suivant : | ||
- découpage lexical en mots ; | - découpage lexical en mots ; | ||
Ligne 535: | Ligne 535: | ||
<note tip> En bref !!! | <note tip> En bref !!! | ||
- | * Les caractères servant __au globbing et au patterns__, sont désignés dans le man bash de caractères génériques.\\ Mais à l'usage on parle de __métacaractères__. | + | * Les caractères servant __au globbing et au patterns__, sont désignés dans le man bash de //caractères génériques//.\\ Mais à l'usage on parle de __métacaractères__. |
- | * Les caractères qui permettent le mécanisme de lecture d'une ligne de commande par le shell sont appelés dans le man bash méta-caractères.\\ Mais à l'usage on parle __de mots réservés__. | + | * Les caractères qui permettent le mécanisme de lecture d'une ligne de commande par le shell sont appelés dans le man bash //métacaractères//.\\ Mais à l'usage on parle __de mots réservés__. |
* On distingue deux sortes de mots réservés : les opérateurs de contrôle et les opérateurs de redirection. | * On distingue deux sortes de mots réservés : les opérateurs de contrôle et les opérateurs de redirection. | ||
Ligne 624: | Ligne 624: | ||
<note> | <note> | ||
- | Enfin, ne sont pas désignés de méta-caractères, ni d'opérateurs de contrôle :\\ | + | Enfin, ne sont pas désignés de "métacaractères", ni d'opérateurs de contrôle :\\ |
Tous les caractères spéciaux, c'est-à-dire les symboles auxquels le shell est sensible.\\ | Tous les caractères spéciaux, c'est-à-dire les symboles auxquels le shell est sensible.\\ | ||
Comme nous le verrons dans cette série de wiki, il s'agit : | Comme nous le verrons dans cette série de wiki, il s'agit : |