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 [08/07/2014 11:24]
Hypathie
doc:programmation:shells:bash-les-differents-caracteres-speciaux [08/07/2014 12:15]
Hypathie [Bash : Vision d'ensemble]
Ligne 21: Ligne 21:
   * [[atelier:​chantier:​man-bash-vi-les-caracteres-de-transformation-de-parametres|Caractères de transformation de paramètres]]   * [[atelier:​chantier:​man-bash-vi-les-caracteres-de-transformation-de-parametres|Caractères de transformation de paramètres]]
   * [[atelier:​chantier:​bash-vii-globs-etendus-regex|Globs étendus et regex]]   * [[atelier:​chantier:​bash-vii-globs-etendus-regex|Globs étendus et regex]]
- 
-//Enfin, les liens en gras renvoient aux pages du wiki relatives au shell, terminal, chemin relatif et absolu, scripts, alias, etc.// 
  
 **Dans ce tuto** : **Dans ce tuto** :
Ligne 345: Ligne 343:
 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;
  
-  * D'une part, dans 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éta-caractè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éta-caractères : 
Ligne 372: Ligne 370:
  
   * Dans un contexte proche, c'​est-à-dire qui concerne la gestion des chaînes de caractères,​ le shell possède des mots réservés et des syntaxes qui permettent de modifier la valeur des variables ou paramètres créés(ées) par l'​utilisateur.   * Dans un contexte proche, c'​est-à-dire qui concerne la gestion des chaînes de caractères,​ le shell possède des mots réservés et des syntaxes qui permettent de modifier la valeur des variables ou paramètres créés(ées) par l'​utilisateur.
-<​code>​ + 
-Dans les accolades précédées de $ : ${  } on peut trouver les caractères : +  ​* ​Dans ''​${  }'' ​on peut trouver les caractères :\\  
-:-    :=       ::    :+   ​:?          ##    %%    + 
-Ne pas confondre avec joker ou bracket ​vus ci-dessus +''​:-''​ ; ''​:=''​ ; ''​:''​ ; ''​::''​ ; ''​:+''​ ; ''​:?''​ ; ''​@''​ ; ''​*''​ ; ''​##''​ ; ''​%%''​ ; ''​%''​ 
-</​code>​  + 
-C'est le sujet du tuto : [[atelier:​chantier:​man-bash-vi-les-caracteres-de-transformation-de-parametres|les caractères de transformation de paramètres]]+Ne pas confondre avec joker ou bracket\\ C'est le sujet du tuto : [[atelier:​chantier:​man-bash-vi-les-caracteres-de-transformation-de-parametres|les caractères de transformation de paramètres]]
  
 ==== Globs simples, ou métacaractères ==== ==== Globs simples, ou métacaractères ====
Ligne 409: Ligne 407:
 Rappel: Rappel:
     - L'​étoile correspond à n'​importe quelle chaîne.\\ ​     - L'​étoile correspond à n'​importe quelle chaîne.\\ ​
-    - Si l'on fait *.txt on représente tous les fichiers se terminant par ''​.txt''​.\ +    - Si l'on fait ''​*.txt'' ​on représente tous les fichiers se terminant par ''​.txt''​. 
-    - Mais attention : .  représente un point (.mais aussi deux points ​(..m( +    - Mais attention : ''​.'' ​ ​représente un point ''​.'' ​mais aussi deux points ​''​..'' ​m( 
 </​note>​ </​note>​
  
Ligne 489: Ligne 487:
   - toujours s'​assurer que vous êtes dans le répertoire parent des fichiers cachés à supprimer((Observez le prompt : ''​user@nom-machine:​~/​REPERTOIRE-PARENT$''​)) ​   - toujours s'​assurer que vous êtes dans le répertoire parent des fichiers cachés à supprimer((Observez le prompt : ''​user@nom-machine:​~/​REPERTOIRE-PARENT$''​)) ​
   - l'​option ''​-i''​ pour plus de maîtrise ;\\ surtout quand on l'​utilise en tant que en root !\\    - l'​option ''​-i''​ pour plus de maîtrise ;\\ surtout quand on l'​utilise en tant que en root !\\ 
-  - mieux vaux éviter de la placer sur le slash ''/​*''​ (pour aller plus vite)\\ il est plus prudent de mettre l'​étoile après la première lettre ''​rm \.f*''​ quitte perdre un peu de temps.+  - mieux vaux éviter de la placer sur le slash ''/​*''​ (pour aller plus vite)\\ il est plus prudent de mettre l'​étoile après la première lettre ''​rm \.f*''​ quitte ​à perdre un peu de temps.
   - Attention lors de la rédaction du chemin absolu d'un fichier :   - Attention lors de la rédaction du chemin absolu d'un fichier :
  
Ligne 536: Ligne 534:
 </​code>​ </​code>​
  
-Un **mot** est //une séquence de caractères considérée comme une unité élémentaire par le shell. On parle également de token (jeton)//.+>Un //mot// est une séquence de caractères considérée comme une unité élémentaire ​ 
 +>par le shell. ​ 
 +>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é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. ​
Ligne 565: Ligne 565:
  
 <note tip> <note tip>
-  * Premièrement,​ à strictement parler, servent ​seulement ​à enchaîner les commandes:\\ +Premièrement,​ à strictement parler, ​parmi les caractères de la liste ci-dessus, ceux qui servent à enchaîner les commandes ​sont :
  
 <​code>​ ||    && ​   ;    <​retour-chariot>​ </​code>​ <​code>​ ||    && ​   ;    <​retour-chariot>​ </​code>​
  
 +> Le signe ''​|''​ est un "​ou"​ logique. ​
 +> Il ne fait pas référence ici au pipe qui sert dans les tubes. ​
 +> Ce "​ou"​ logique qui apparaît dans deux cas :
    
-    * Le signe | ne fait pas référence ici au pipe qui sert dans les tubes.  +    * avec ''​;;'' ​dans le contexte de la commande ​''​case''  ​
-C'est un " OU " logique qui apparaît dans deux cas :\\  +
-1) avec ;; dans le contexte de la commande ​"case" ;\\ +
 <code bash> <code bash>
 case $variable-name in case $variable-name in
Ligne 584: Ligne 585:
 esac esac
  </​code>​  </​code>​
-2) dans le contexte d'​utilisation des globs étendus et des expressions rationnelles\\ ​ +    * dans le contexte d'​utilisation des globs étendus et des expressions rationnelles\\ voir : [[atelier:​chantier:​bash-vii-globs-etendus-regex?&#​les-globs-etendus]]\\ ​Par exemple : <code user>ls ~/​Test/​!(*jpg|*bmp)</​code>​
-voir : [[atelier:​chantier:​bash-vii-globs-etendus-regex?&#​les-globs-etendus]]\\ ​+
  
-    * Il signifie ​la aussi " OU "\\  +Deuxièmement,​ on retrouve ​la paire de parenthèses simples ''​( )'':​ 
-Par exemple : <code user>ls ~/Test/!(*jpg|*bmp)</code>+ 
 +Avec la commande ''​function''​
  
-  * Deuxièmement,​ on retrouve la paire de parenthèses dans le contexte de la commande "​function"​. 
 <code bash> <code bash>
 name (){ name (){
Ligne 598: Ligne 598:
 name name
 </​code>​ </​code>​
-Ou encore dans les substitutions de commande $( ).\\  
-Enfin il apparaît une paire de parenthèses dans le cas des globs étendus (voir lien ci-dessus) ;\\  
-et dans les expressions rationnelle (voir : [[atelier:​chantier:​bash-vii-globs-etendus-regex?&#​liste-des-caracteres-utilises-dans-les-expressions-regulieres-de-type-bashiste]]\\ ​ 
  
-La double paire de parenthèse sert à faire des calculs (voir : [[atelier:​chantier:​page-man-bash-iv-symboles-dans-les-calculs-mathematiques]].+> Avec les substitutions de commande ''​$( )''​ 
 + 
 +> Avec les globs étendus (voir lien ci-dessus) ;\\  
 +ou dans les expressions rationnelle (voir : [[atelier:​chantier:​bash-vii-globs-etendus-regex?&#​liste-des-caracteres-utilises-dans-les-expressions-regulieres-de-type-bashiste]]\\  
 + 
 +> Ne pas confondre avec la double paire de parenthèse ​''<​nowiki>​(( ))</​nowiki>''​ qui ne figure pas\\ dans la liste et qui sert à faire des calculs\\ (voir : [[atelier:​chantier:​page-man-bash-iv-symboles-dans-les-calculs-mathematiques]].
 </​note>​ </​note>​
 À voir : [[doc:​programmation:​shell:​shell#​enchainer-plusieurs-commandes]] À voir : [[doc:​programmation:​shell:​shell#​enchainer-plusieurs-commandes]]
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