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 [09/07/2014 14:03] Hypathie [Métacaractères et méta-caractères !] |
doc:programmation:shells:bash-les-differents-caracteres-speciaux [10/07/2014 07:00] Hypathie [Shell BASH] |
||
---|---|---|---|
Ligne 90: | 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 136: | 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 146: | 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 543: | Ligne 543: | ||
==== Les opérateurs de contrôle ==== | ==== Les opérateurs de contrôle ==== | ||
- | Voir : | ||
- | * [[doc:programmation:shell:shell|Le shell pour tous]] | ||
- | * [[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]] | ||
===Parmi tous les opérateurs de contrôle ci-dessous :=== | ===Parmi tous les opérateurs de contrôle ci-dessous :=== | ||
- | <code> | + | <code text man bash> |
|| && ; & ;; ( ) | <retour-chariot> | || && ; & ;; ( ) | <retour-chariot> | ||
</code> | </code> | ||
Ligne 555: | Ligne 551: | ||
===Il faut premièrement distinguer ceux qui servent à enchaîner les commandes :=== | ===Il faut premièrement distinguer ceux qui servent à enchaîner les commandes :=== | ||
+ | |||
'' || && ; <retour-chariot> '' | '' || && ; <retour-chariot> '' | ||
- | === Quelques remarques sur les autres :=== | + | 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> | ||
+ | Quant aux autres : '' & ;; ( ) | '' | ||
* Le signe ''|'' est un "ou" logique. | * Le signe ''|'' est un "ou" logique. | ||
Ligne 566: | Ligne 570: | ||
* 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 ''|'' 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 le ''|'' avec les '';;'' dans contexte de la commande ''case'' | + | * Le ''|'' avec les '';;'' dans contexte de la commande ''case'' |
<code> | <code> | ||
case chaîne in | case chaîne in | ||
Ligne 593: | Ligne 597: | ||
> 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]]. | > 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]]. | ||
- | À voir : [[doc:programmation:shell:shell#enchainer-plusieurs-commandes]] | + | </note> |
==== Les opérateurs de redirection ==== | ==== Les opérateurs de redirection ==== | ||
Ligne 619: | 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 : |