logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 [25/05/2014 16:57]
Hypathie [B) Scripts et alias]
doc:programmation:shells:bash-les-differents-caracteres-speciaux [26/05/2014 07:12]
Hypathie [B ) Métacaractères et méta-caractères !]
Ligne 28: Ligne 28:
 8) chap VIII : [[atelier:​chantier:​bash-vii-globs-etendus-regex|Bash : globs étendus et regex]] 8) chap VIII : [[atelier:​chantier:​bash-vii-globs-etendus-regex|Bash : globs étendus et regex]]
  
-**Enfin, les liens en gras renvoient aux pages du wiki qui sont relatifs au shell, terminal, chemin relatif et absolu, scripts, alias, etc.** ​+**Enfin, les liens en gras renvoient aux pages du wiki qui sont relatifs au shell, terminal, chemin relatif et absolu, scripts, alias, etc.**\\  ​
 **Dans cette introduction ​ :**\\ **Dans cette introduction ​ :**\\
   * A) définitions de shell bash et liens internes spécifiques au sujets évoqués ;\\   * A) définitions de shell bash et liens internes spécifiques au sujets évoqués ;\\
-  * B) définitions de termes associés au shell et liens internes spécifiques au sujets évoqués\\ +  * B) explication sur l’ambiguïté du terme méta-caractère.\\ 
-  * C) explication sur l’ambiguïté du terme méta-caractère. ​+  * C) définitions de termes associés au shell et liens internes spécifiques au sujets évoqués\\
  
 **Yep ! C'est parti !** 8-) **Yep ! C'est parti !** 8-)
Ligne 110: Ligne 110:
 </​note>​ </​note>​
  
-=====B) Scripts et alias ===== 
  
-====1les scripts ​==== +=====B Métacaractères et méta-caractères !=====
-Un **script** est la rédaction dans un fichier texte d'un ensemble de //​commandes//​ et d'​expressions régulières (caractères utilisés symboliquement) orientant les instructions données aux commandes.\\ ​+
  
-  * **Pour une initiation au script : [[atelier:​chantier:​debuter-avec-les-scripts-shell-bash]]**  +====1)Définition courante de métacaractère ​et détail==== 
-  * **sur "​if",​ "les boucles",​ etc. : [[doc:​programmation:​shell:​avancee|Fonctionnalités avancées du Shell]]** +  * **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.**
-  * **considérations avancées : [[doc:​programmation:​shell:​scripts|Rédaction de scripts Shell]]** +
-  * ** Pour les DÉBUTANTS AVISÉS francophile : [[http://​abs.traduc.org/​abs-fr/​pt01.html]]** +
-  * **Pour les DÉBUTANTS AVISÉS et anglophile, voir là :​[[http://​mywiki.wooledge.org/​BashFAQ]]**  +
- +
-  * **À voir aussi : scripts debian-facile :**  +
-      *[[:​doc:​programmation:​python:​boutonfermer|[pygtk] Comment faire un notebook avec bouton "​fermer"​]] +
-      *[[:​doc:​programmation:​bash:​alias|[bash] Réalisation d'un script contenant des Alias]]  +
-      *[[:​doc:​programmation:​bash:​file-dir-exist|[bash] Déterminer si un fichier ou répertoire existe]] +
-      *[[:​doc:​programmation:​bash:​synoshareexist|[bash] Déterminer si un partage existe sur un disque réseau de type Synology]] +
-      *[[:​doc:​programmation:​bash:​read:​parcourir-fichier-texte|[bash] Lire un fichier texte ligne par ligne]] +
-      *[[:​doc:​systeme:​apt:​debsect|[bash] Section d'un paquet debian]] +
-      *[[:​doc:​programmation:​bash:​tp-debsources|[bash] Dépôt d'un paquet debian]] +
-      *[[:​doc:​programmation:​bash:​png2jpg|[bash] Convertir dans plusieurs sous-répertoires des images .png en .jpg]] +
- +
-====2) les alias ==== +
-  * **L'​essentiel est là : [[doc:​programmation:​bash:​alias|Maîtriser les alias bash]]** +
- +
-  * **alias et script :** +
-Lorsque vous tapez plusieurs lignes de commande différentes et répétitives à la suite, il est intéressant de les rédiger toutes ensembles dans un seul texte (un //script//) afin de les appeler d'un coup à l'aide d'un mot clé nommé : [[:​doc:​programmation:​bash:​alias|un alias]]. +
- +
-**Pour voir où et comment réaliser un tel script : [[:​doc:​programmation:​bash:​alias|Réalisation d'un Script contenant des Alias]]** +
- +
-  +
-=====C ) Méta-caractères et méta-caractères !===== +
- +
-====1)Définition courante de méta-caractère ​et détail==== +
-  * **Un méta-caractè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é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;
Ligne 166: Ligne 137:
 **Pour simplifier, on peut appeler les caractères génériques et expressions génériques,​ des globs en référence à la commande glob ou à l'​option extglob de la commande shopt.\\ **Pour simplifier, on peut appeler les caractères génériques et expressions génériques,​ des globs en référence à la commande glob ou à l'​option extglob de la commande shopt.\\
 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.**
 </​note>​ </​note>​
  
Ligne 183: Ligne 156:
 C'est le sujet chap. 7 : [[atelier:​chantier:​man-bash-vi-les-caracteres-de-transformation-de-parametres|Bash : les caractères de transformation de parametres]] C'est le sujet chap. 7 : [[atelier:​chantier:​man-bash-vi-les-caracteres-de-transformation-de-parametres|Bash : les caractères de transformation de parametres]]
  
-====2) "​Méta-caractères"​ désignation particulière du man bash pour opérateurs de contrôle et de redirection====+====2) "Globs simples"​ ou "​métacaractères",​ utilisation avancée==== 
 + 
 +**Détails et exercices sur : [[doc:​programmation:​shell:​les-metacaracteres|métacaractères,​ ou globs, ou encore patterns]]** 
 +   
 + 
 +===Comment associer le point et l'​étoile ?=== 
 + 
 +On sait que ls -a permet de lister tous les fichiers, le retour est alors un peu trop copieux \\  
 + 
 +De même ls -a* est très prolixe.\\  
 + 
 +On peut alors faire : 
 +<code user> 
 +ls -d .* 
 +</​code>​ 
 +=> On obtiendra alors tous les fichiers cachés. 
 + 
 +Pour affiner la recherche on faire pour n'​avoir que ceux dont le nom commence par un c : 
 + 
 +<code user> 
 +ls -d .c* 
 +</​code>​ 
 +Retour : 
 +<​code>​ 
 +.cache ​ .config 
 +</​code>​ 
 + 
 +  * **Rappel :**\\  
 +  -**L'​étoile correspond à n'​importe quelle chaîne.**\\  
 +  -**Si l'on fait *.txt on représente tous les fichiers se terminant par "​.txt"​.**\\  
 +**C'​est là qu'il y a un petit piège ! m(  **\\ 
 + 
 +**.*  représente un point (.) mais aussi deux points (..)**  
 + 
 +<code user> 
 +ls .*    # et son équivalent : ls .?* 
 +</​code>​ 
 +=> va afficher du répertoire courant (.) : tous les fichiers cachés (normaux) et tous les fichiers cachés de type-répertoire avec les noms des fichiers cachés contenus dans ces répertoires ;\\ 
 +mais aussi du répertoire parent (..) : tous les fichiers cachés normaux et les fichiers cachés de type-répertoire,​ avec les noms des fichiers cachés contenus dans ces répertoires ! 
 + 
 +  * Contournement : 
 +<code user> 
 +ls .[!.]* 
 +</​code>​ 
 +=> liste du répertoire courant : tous les fichiers cachés normaux et les fichiers cachés de type-répertoire,​ avec les fichiers cachés de ces répertoires. 
 +<code user> 
 +ls -d .[!.]* ​  # et son équivalent : ls -d .??* 
 +</​code>​ 
 +=> liste du répertoire courant : tous les noms de fichiers normaux cachés et le nom de tous les fichiers cachés de type-répertoire (sans leurs contenus cette fois !)  
 + 
 +====3) "​Méta-caractères"​ désignation particulière du man bash pour "opérateurs de contrôle et de redirection"====
 ===Définition particulière :=== ===Définition particulière :===
 <​code>​ <​code>​
Ligne 216: Ligne 239:
  
 **À l'​usage,​ on regroupe ces "​méta-caractères",​ sous l'​appellation de "mots réservés"​. Il y a deux sortes de mots réservés : les opérateurs de contrôle et les opérateurs de redirection** **À l'​usage,​ on regroupe ces "​méta-caractères",​ sous l'​appellation de "mots réservés"​. Il y a deux sortes de mots réservés : les opérateurs de contrôle et les opérateurs de redirection**
-===Les opérateurs de contrôle :===+ 
 +====4) Les opérateurs de contrôle :====
    
 <​code>​ <​code>​
Ligne 222: Ligne 246:
 </​code>​ </​code>​
 <note tip> <note tip>
-Précisons !\\  +__**Précisons !**__\\  
-À strictement parler, seulement :\\ +__**Premièrement pour le pipe, à strictement parler, ​servent ​seulement ​à enchaîner les commandes**:__\\ 
  
 <​code>​ ||    && ​   ;    <​retour-chariot>​ </​code>​ <​code>​ ||    && ​   ;    <​retour-chariot>​ </​code>​
-servent à enchaîner les commandes.\\+\\
    
  Le signe | ne fait pas référence ici au pipe qui sert dans les tubes. C'est un " OU " logique qui apparaît dans deux cas :\\   Le signe | ne fait pas référence ici au pipe qui sert dans les tubes. C'est un " OU " logique qui apparaît dans deux cas :\\ 
Ligne 247: Ligne 271:
 Par exemple : <​code>​ls ~/​Test/​!(*jpg|*bmp)</​code>​ Par exemple : <​code>​ls ~/​Test/​!(*jpg|*bmp)</​code>​
  
-On retrouve la paire de parenthèse dans le contexte de la commande "​function"​.+__**Deuxièmement,​ on retrouve la paire de parenthèse dans le contexte de la commande "​function"​.**__
 <​code>​ <​code>​
 name (){ name (){
Ligne 263: Ligne 287:
 **À voir : [[doc:​programmation:​shell:​shell#​enchainer-plusieurs-commandes]]** **À voir : [[doc:​programmation:​shell:​shell#​enchainer-plusieurs-commandes]]**
  
-===Les opérateurs de redirection :===+====5) Les opérateurs de redirection :====
  
 <​code>​ <​code>​
Ligne 287: Ligne 311:
  
  
-  * **Enfin, ne sont pas désignés de méta-caractères:​**\\  ​+  * **Enfin, ne sont pas désignés de méta-caractères :​**\\  ​
 Tous les caractères spéciaux, c'​est-à-dire les symboles auxquels le shell est sensible. Il s'agit de tous ceux qui ne servent pas à séparer les mots ou les commandes.\\ ​ Tous les caractères spéciaux, c'​est-à-dire les symboles auxquels le shell est sensible. Il s'agit de tous ceux qui ne servent pas à séparer les mots ou les commandes.\\ ​
-Comme nous le verrons dans la suite de ce wiki-synthèse, il s'agit des **caractères qui inhibent** la reconnaissance des caractères spéciaux ​ou des "méta-caractères" ; **des mots réservés** (et qui appartiennent souvent à la syntaxe des commandes composées) ; des **caractères qui transforment un caractère simple en caractère spécial** (par exemple, le tiret devant une lettre, fait reconnaître cette lettre comme une option !) et enfin des caractères qui **représentent différentes sortes de fichiers**, les **variables d'​environnement prédéfinies** et les **paramètres prédéfinis**.+Comme nous le verrons dans cette série ​de wiki, il s'agit des **caractères qui inhibent** la reconnaissance des caractères spéciaux ​et des métacaractères ("glob" ou "​patterns"​ et "​bracket expression" ; **des mots réservés** (et qui appartiennent souvent à la syntaxe des commandes composées) ; des **caractères qui transforment un caractère simple en caractère spécial** (par exemple, le tiret devant une lettre, fait reconnaître cette lettre comme une option !) et enfin des caractères qui **représentent différentes sortes de fichiers**, les **variables d'​environnement prédéfinies** et les **paramètres prédéfinis**.
  
-====3"Globs simples"​ ou "​méta-caractères",​ utilisation avancée====+=====CScripts et Alias =====
  
-**Détails et exercices sur : [[doc:​programmation:​shell:​les-metacaracteres|métacaractères,​ ou globs, ou encore patterns]]** +====1) les scripts ==== 
-  ​+Un **script** est la rédaction dans un fichier texte d'un ensemble de //​commandes//​ et d'​expressions régulières (caractères utilisés symboliquement) orientant les instructions données aux commandes.\\ ​
  
-===Comment associer le point et l'​étoile ?===+  * **Pour une initiation au script : [[atelier:​chantier:​debuter-avec-les-scripts-shell-bash]]**  
 +  * **sur "​if",​ "les boucles",​ etc. : [[doc:​programmation:​shell:​avancee|Fonctionnalités avancées du Shell]]** 
 +  * **considérations avancées : [[doc:​programmation:​shell:​scripts|Rédaction de scripts Shell]]** 
 +  * ** Pour les DÉBUTANTS AVISÉS francophile : [[http://​abs.traduc.org/​abs-fr/​pt01.html]]** 
 +  * **Pour les DÉBUTANTS AVISÉS ​et anglophile, voir là :​[[http://​mywiki.wooledge.org/​BashFAQ]]** ​
  
-On sait que ls -a permet ​de lister tous les fichiers, le retour est alors un peu trop copieux \\ +  * **À voir aussi : scripts debian-facile :**  
 +      *[[:​doc:​programmation:​python:​boutonfermer|[pygtk] Comment faire un notebook avec bouton "​fermer"​]] 
 +      *[[:​doc:​programmation:​bash:​alias|[bash] Réalisation d'un script contenant des Alias]]  
 +      *[[:​doc:​programmation:​bash:​file-dir-exist|[bash] Déterminer si un fichier ou répertoire existe]] 
 +      *[[:​doc:​programmation:​bash:​synoshareexist|[bash] Déterminer si un partage existe sur un disque réseau ​de type Synology]] 
 +      *[[:​doc:​programmation:​bash:​read:​parcourir-fichier-texte|[bash] Lire un fichier texte ligne par ligne]] 
 +      *[[:​doc:​systeme:​apt:​debsect|[bash] Section d'un paquet debian]] 
 +      *[[:​doc:​programmation:​bash:​tp-debsources|[bash] Dépôt d'un paquet debian]] 
 +      *[[:​doc:​programmation:​bash:​png2jpg|[bash] Convertir dans plusieurs sous-répertoires des images .png en .jpg]]
  
-De même ls -a* est très prolixe.\\ ​+====2) les alias ==== 
 +  ​**L'​essentiel ​est là : [[doc:​programmation:​bash:​alias|Maîtriser les alias bash]]**
  
-On peut alors faire : +  * **alias et script ​:*
-<code user> +Lorsque vous tapez plusieurs lignes de commande différentes et répétitives à la suite, il est intéressant de les rédiger toutes ensembles dans un seul texte (un //script//) afin de les appeler d'un coup à l'aide d'un mot clé nommé : [[:​doc:​programmation:​bash:​alias|un alias]].
-ls -d .+
-</code> +
-=> On obtiendra alors tous les fichiers cachés.+
  
-Pour affiner la recherche on faire pour n'​avoir que ceux dont le nom commence par un :+**Pour voir où et comment réaliser ​un tel script ​[[:​doc:​programmation:​bash:​alias|Réalisation d'un Script contenant des Alias]]**
  
-<code user> +===== la suite c'est ICI ===== 
-ls -d .c+[[atelier:​chantier:​la-page-man-bash-les-caracteres-speciaux|Bash : Détail et caractères]]
-</​code>​ +
-Retour ​+
-<​code>​ +
-.cache ​ .config +
-</​code>​+
  
-  * **Rappel :**\\  
-  -**L'​étoile correspond à n'​importe quelle chaîne.**\\ ​ 
-  -**Si l'on fait *.txt on représente tous les fichiers se terminant par "​.txt"​.**\\ ​ 
-**C'​est là qu'il y a un petit piège ! m(  **\\ 
- 
-**.*  représente un point (.) mais aussi deux points (..)** ​ 
- 
-<code user> 
-ls .*    # et son équivalent : ls .?* 
-</​code>​ 
-=> va afficher du répertoire courant (.) : tous les fichiers cachés (normaux) et tous les fichiers cachés de type-répertoire avec les noms des fichiers cachés contenus dans ces répertoires ;\\ 
-mais aussi du répertoire parent (..) : tous les fichiers cachés normaux et les fichiers cachés de type-répertoire,​ avec les noms des fichiers cachés contenus dans ces répertoires ! 
- 
-  * Contournement : 
-<code user> 
-ls .[!.]* 
-</​code>​ 
-=> liste du répertoire courant : tous les fichiers cachés normaux et les fichiers cachés de type-répertoire,​ avec les fichiers cachés de ces répertoires. 
-<code user> 
-ls -d .[!.]* ​  # et son équivalent : ls -d .??* 
-</​code>​ 
-=> liste du répertoire courant : tous les noms de fichiers normaux cachés et le nom de tous les fichiers cachés de type-répertoire (sans leurs contenus cette fois !)  
- 
-=== la suite c'est ICI=== 
-[[atelier:​chantier:​la-page-man-bash-les-caracteres-speciaux|Bash : Détail et caractères]] 
doc/programmation/shells/bash-les-differents-caracteres-speciaux.txt · Dernière modification: 01/04/2023 19:17 par agp91

Pied de page des forums

Propulsé par FluxBB