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:shell:pipe [24/12/2013 03:48] smolski |
doc:programmation:shell:pipe [24/09/2015 18:15] milou [Scénario complexe] |
||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=3804 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=3804 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
- | === Nota === | + | **Nota :** |
Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
Ligne 44: | Ligne 44: | ||
Enfin, la dernière commande peut elle-même faire l'objet d'une redirection en sortie. | Enfin, la dernière commande peut elle-même faire l'objet d'une redirection en sortie. | ||
<code user>ls -l | wc > resultat.txt</code> | <code user>ls -l | wc > resultat.txt</code> | ||
+ | |||
+ | |||
+ | <note tip>Bien que ce ne soit pas un problème de mettre un espace à la suite d'un **pipe**, pourvu que ce soit bien un espace et pas autre chose. \\ | ||
+ | En fait, ce n'est pas l'espace qui peut introduire une erreur d'interprétation, mais par exemple, si tu tapes //un espace insécable//, pour le [[doc:programmation:shell:shell|shell]] cet //espace insécable// n'est pas un délimiteur de mot et donc il analyse l'//espace insécable// représenté de manière non visible comme faisant partie du mot qui le suit ce qui peut engendrer une erreur de sortie. | ||
+ | |||
+ | Par sécurité, nous pouvons donc rédiger les commandes utilisant **pipe** sans espace dans la redirection. \\ | ||
+ | Exemple : | ||
+ | <code bash>commande1 |commande2 |Tchibâââ</code> | ||
+ | |||
+ | **Remarque :** \\ | ||
+ | //Ce qui vaut pour le pipe |, vaut également pour la redirection > amha// | ||
+ | </note> | ||
+ | |||
===== Fonctionnement en détail ===== | ===== Fonctionnement en détail ===== | ||
Ligne 200: | Ligne 213: | ||
<code user>wr 1s10k300k7k 2s5k 4s200k | rd 0s2k 3s5000k 5s6k</code> | <code user>wr 1s10k300k7k 2s5k 4s200k | rd 0s2k 3s5000k 5s6k</code> | ||
+ | <file config retour de la commande> | ||
(1s) 1.0s 10k > | (1s) 1.0s 10k > | ||
(0s) 1.0s > 2k | (0s) 1.0s > 2k | ||
Ligne 209: | Ligne 222: | ||
(5s) 5.0s > 6k | (5s) 5.0s > 6k | ||
5.0s > CLOSE | 5.0s > CLOSE | ||
- | 5.0s CLOSE > | + | 5.0s CLOSE ></file> |
<note>Il se passe 2 secondes entre la dernière action de **wr** et la fermeture du //pipe//, **wr** a donc été tué durant son sommeil.</note> | <note>Il se passe 2 secondes entre la dernière action de **wr** et la fermeture du //pipe//, **wr** a donc été tué durant son sommeil.</note> | ||
Ligne 216: | Ligne 229: | ||
<code user>wr -n 1s10k300k7k 2s5k 4s200k | rd 0s2k 3s5000k 5s6k</code> | <code user>wr -n 1s10k300k7k 2s5k 4s200k | rd 0s2k 3s5000k 5s6k</code> | ||
+ | <file config retour de la commande> | ||
(1s) 1.0s 10k > | (1s) 1.0s 10k > | ||
(1s) 1.0s 52k > | (1s) 1.0s 52k > | ||
Ligne 226: | Ligne 239: | ||
4.0s CLOSE > | 4.0s CLOSE > | ||
(5s) 5.0s > 6k | (5s) 5.0s > 6k | ||
- | 5.0s > CLOSE | + | 5.0s > CLOSE</file> |
<note>La majorité des données a été perdue, alors que le scénario est identique au premier, au type d'écriture près.</note> | <note>La majorité des données a été perdue, alors que le scénario est identique au premier, au type d'écriture près.</note> | ||
Ligne 233: | Ligne 246: | ||
<code user>wr 1s10k300k7k 2s5k 4s200k | rd -n 0s2k 3s5000k 5s6k</code> | <code user>wr 1s10k300k7k 2s5k 4s200k | rd -n 0s2k 3s5000k 5s6k</code> | ||
+ | <file config retour de la commande> | ||
(0s) 0.0s > 0k | (0s) 0.0s > 0k | ||
(1s) 1.0s 10k > | (1s) 1.0s 10k > | ||
Ligne 242: | Ligne 255: | ||
(5s) 5.0s > 6k | (5s) 5.0s > 6k | ||
5.0s > CLOSE | 5.0s > CLOSE | ||
- | 5.0s CLOSE > | + | 5.0s CLOSE ></file> |
<note>Comme précédemment, on voit que **wr** a été tué durant son sommeil.</note> | <note>Comme précédemment, on voit que **wr** a été tué durant son sommeil.</note> | ||
Ligne 249: | Ligne 262: | ||
<code user>wr -n 1s10k300k7k 2s5k 4s200k | rd -n 0s2k 3s5000k 5s6k</code> | <code user>wr -n 1s10k300k7k 2s5k 4s200k | rd -n 0s2k 3s5000k 5s6k</code> | ||
+ | <file config retour de la commande> | ||
(0s) 0.0s > 0k | (0s) 0.0s > 0k | ||
(1s) 1.0s 10k > | (1s) 1.0s 10k > | ||
Ligne 259: | Ligne 272: | ||
4.0s CLOSE > | 4.0s CLOSE > | ||
(5s) 5.0s > 6k | (5s) 5.0s > 6k | ||
- | 5.0s > CLOSE | + | 5.0s > CLOSE</file> |
<note>Quasiment toutes les données ont été perdues.</note> | <note>Quasiment toutes les données ont été perdues.</note> |