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 15:19]
Hypathie [Shell BASH]
doc:programmation:shells:bash-les-differents-caracteres-speciaux [10/07/2014 07:15]
Hypathie [Quotes, apostrophe, guillemets et apostrophe inversée]
Ligne 14: Ligne 14:
 > [[user>​Hypathie]] > [[user>​Hypathie]]
  
 +  * ;-)
   * [[atelier:​chantier:​la-page-man-bash-les-caracteres-speciaux|Détail et caractères]]   * [[atelier:​chantier:​la-page-man-bash-les-caracteres-speciaux|Détail et caractères]]
   * [[atelier:​chantier:​la-page-man-bash-ii-les-operateurs-lexicographiques|Les opérateurs lexicographiques]]   * [[atelier:​chantier:​la-page-man-bash-ii-les-operateurs-lexicographiques|Les opérateurs lexicographiques]]
Ligne 89: Ligne 90:
  
 Une commande interne est une commande dont le code est implémenté au sein même du shell. ​ Une commande interne est une commande dont le code est implémenté au sein même du shell. ​
-Les commandes sont intégrées,​ soit pour des raisons de performances (l'​appel d'une telle commande ne crée pas de processus fils du shell courant); soit parce qu'une commande intégrée se sert des variables internes du shell.+Les commandes sont intégrées,​ soit pour des raisons de performances (l'​appel d'une telle commande ne crée pas de processus fils(([[doc:​systeme:​processus|processus]])) ​du shell courant); soit parce qu'une commande intégrée se sert des variables internes du shell.
  
 Cela signifie que lorsqu'​on change de shell courant (par exemple bash, dash, zsh ou C-shell((Voir : http://​fr.wikipedia.org/​wiki/​Csh)),​ on ne dispose plus des mêmes commandes internes. Cela signifie que lorsqu'​on change de shell courant (par exemple bash, dash, zsh ou C-shell((Voir : http://​fr.wikipedia.org/​wiki/​Csh)),​ on ne dispose plus des mêmes commandes internes.
Ligne 135: Ligne 136:
 <code user>​type sleep</​code>​ <code user>​type sleep</​code>​
 <​code>​sleep est /​bin/​sleep</​code>​ <​code>​sleep est /​bin/​sleep</​code>​
-//''/​bin/​commande''​ signifie donc que c'est une commande externe.//+>''/​bin/​commande''​ signifie donc que c'est une commande externe.
  
 <code user>​type ls</​code>​ <code user>​type ls</​code>​
Ligne 145: Ligne 146:
 <code user>​which ls</​code>​ <code user>​which ls</​code>​
 <​code>/​bin/​ls</​code>​ <​code>/​bin/​ls</​code>​
-//''​ls''​ est donc l'​alias de la commande externe ''/​bin/​ls''​//+>''​ls''​ est donc l'​alias de la commande externe ''/​bin/​ls''​
 </​note>​ </​note>​
  
Ligne 289: Ligne 290:
 Attention, cette commande est dangereuse !\\  Attention, cette commande est dangereuse !\\ 
 Elle efface tout le contenu du dossier.\\ ​ Elle efface tout le contenu du dossier.\\ ​
-À ne pas lancer dans votre dossier personnel sous peine perdre ​de manière irrémédiable de tous vos fichiers ​ !+À ne pas lancer dans votre dossier personnel sous peine perdre ​irrémédiablement ​tous vos fichiers ​ !
 </​note>​ </​note>​
->Pour vérifier que tout a été supprimé :​ 
 <code user>​ls</​code>​ <code user>​ls</​code>​
 +
 +> Pour vérifier que tout a été supprimé :
  
   * comparez maintenant avec :   * comparez maintenant avec :
Ligne 303: Ligne 305:
 <code user>ls | xargs rm <code user>ls | xargs rm
 </​code>​ </​code>​
->Pour vérifier que tout a été supprimé :​+
 <code user>​ls</​code>​ <code user>​ls</​code>​
 +
 +> Pour vérifier que tout a été supprimé :
  
   * Autre exemple :   * Autre exemple :
Ligne 531: Ligne 535:
  
 <note tip> En bref !!! <note tip> En bref !!!
-  * Les caractères servant ​au globbing et au perttern, 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éta-caractè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 539: Ligne 543:
  
 ==== Les opérateurs de contrôle ==== ==== Les opérateurs de contrôle ====
-  + 
-<​code>​+===Parmi tous les opérateurs de contrôle ci-dessous :=== 
 +<​code ​text man bash>
     ||    && ​   ;    &    ;;    ( )    |    <​retour-chariot> ​     ||    && ​   ;    &    ;;    ( )    |    <​retour-chariot> ​
 </​code>​ </​code>​
  
 +
 +===Il faut premièrement distinguer ceux qui servent à enchaîner les commandes :===
 +
 +'' ​ ||    && ​   ;    <​retour-chariot>​ ''​
 +
 +Voir : 
 +  * [[doc:​programmation:​shell:​shell|Le shell pour tous]]
 +  * [[doc:​programmation:​shell:​shell#​enchainer-plusieurs-commandes]]
 +  * [[atelier:​chantier:​script-bash-enchainement-de-commandes-et-etat-de-sortie#​enchainements-de-commandes-dans-les-scripts|Enchaînements de commandes dans les scripts]]
 +  * [[atelier:​chantier:​script-bash-etat-de-sorie-et-les-tests?&#​l-enchainement-conditionnel-est-fonde-sur-le-code-de-retour|l'​enchaînement conditionnel]]
 +
 +===Remarques ===
 <note tip> <note tip>
-Premièrement,​ à strictement parler, parmi les caractères de la liste ci-dessus, ceux qui servent à enchaîner les commandes sont :+Quant aux autres ​'' ​ &    ;;    ( )    | ''​
  
-<​code> ​||    && ​   ;    <​retour-chariot>​ </​code>​+  * Le signe ''​|''​ est un "​ou"​ logique.
  
-> Le signe ''​|''​ est un "​ou"​ logique. ​ 
 > Il ne fait pas référence ici au pipe qui sert dans les tubes. ​ > Il ne fait pas référence ici au pipe qui sert dans les tubes. ​
-> Ce "​ou"​ logique ​qui apparaît dans deux cas : +> Ce "​ou"​ logique apparaît dans deux cas :
-  +
-    * avec '';;''​ dans le contexte de la commande ''​case'' ​  +
-<code bash> +
-case $variable-name in +
-   ​pattern1|pattern2|pattern3 +
-#          ^        ^ +
-#          ou       ou +
-     ​command1 +
-     ... +
-     ​commandN +
-   *) +
-esac +
- </​code>​ +
-    * 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>​+
  
-Deuxièmement,​ on retrouve la paire de parenthèses simples ''​( )'':​ +    * le ''​|''​ 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>​ 
- +    * Le ''​|''​ avec les '';;''​ dans contexte de la commande ''​case'' ​  
-Avec la commande ''​function''​+<​code>​ 
 +case chaîne in 
 +      choix1 )  commande ;; 
 +      choix2 | choix3 ...) commande ;; 
 +#            ^ 
 +      ... 
 +      * )  commande ... ;; 
 +esac 
 +</​code>​ 
 +  * On retrouve la paire de parenthèses simples ''​( )'':​ 
 +    ​* ​Avec la commande ''​function''​
  
 <code bash> <code bash>
Ligne 579: Ligne 591:
 </​code>​ </​code>​
  
-Avec les substitutions de commande ''​$( )''​ +    * Avec les substitutions de commande ''​$( )''​ 
- +    ​* ​Avec les globs étendus (voir lien ci-dessus) ;\\ 
-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]]\\ ​ 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]].+Et à 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]]+
  
 ==== Les opérateurs de redirection ==== ==== Les opérateurs de redirection ====
Ligne 612: Ligne 624:
  
 <​note>​ <​note>​
-Enfin, ne sont pas désignés de méta-caractères :​\\  ​+Enfin, ne sont pas désignés de méta-caractè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 :
Ligne 635: Ligne 647:
   * **Pour les DÉBUTANTS AVISÉS et anglophile, voir là :​[[http://​mywiki.wooledge.org/​BashFAQ]]** ​   * **Pour les DÉBUTANTS AVISÉS et anglophile, voir là :​[[http://​mywiki.wooledge.org/​BashFAQ]]** ​
  
-  * **À voir aussi : scripts debian-facile :** +  * **À voir aussi : les scripts debian-facile :** 
       *[[:​doc:​programmation:​python:​boutonfermer|[pygtk] Comment faire un notebook avec bouton "​fermer"​]]       *[[:​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:​alias|[bash] Réalisation d'un script contenant des Alias]] ​
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