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 Les deux révisions suivantes | ||
doc:programmation:shell:shell [26/01/2016 14:04] greenmerlin [Enchaîner plusieurs commandes] |
doc:programmation:shell:shell [26/01/2016 17:34] milou [Rediriger l'affichage] |
||
---|---|---|---|
Ligne 131: | Ligne 131: | ||
Dans un shell, il faut penser //flux//. Un flux est une sorte de fichier, qui se construit au fur et à mesure et n'est présent qu'en mémoire. | Dans un shell, il faut penser //flux//. Un flux est une sorte de fichier, qui se construit au fur et à mesure et n'est présent qu'en mémoire. | ||
Par exemple, | Par exemple, | ||
- | * tout ce qu'affiche un programme (comme ''ls'' ou ''pwd'' est un flux, affiché directement sur le terminal. | + | * tout ce qu'affiche un programme (comme ''ls'' ou ''pwd'' est un flux, affiché directement sur le terminal). |
* tout ce que tape un utilisateur pendant qu'il utilise un programme du terminal est un flux. | * tout ce que tape un utilisateur pendant qu'il utilise un programme du terminal est un flux. | ||
- | <note info>Cela vaut en particulier pour le shell ! Vous pouvez le vérifier en tapant la combinaison de touche correspondant à une //fin de fichier// (ou fin de flux) : <key>C-d</key> **paf** le shell se ferme, parce que son flux d'entré est terminé :-) | + | <note info>Cela vaut en particulier pour le shell ! Vous pouvez le vérifier en tapant la combinaison de touches correspondant à une //fin de fichier// (ou fin de flux) : <key>C-d</key> **paf** le shell se ferme, parce que son flux d'entrée est terminé :-) |
</note> | </note> | ||
Ligne 147: | Ligne 147: | ||
Admettons que vous vouliez lancer un premier programme, qui fournit alors un flux de sortie, puis donner ce flux de sortie à un deuxième programme pour qu'il y fasse un second traitement. | Admettons que vous vouliez lancer un premier programme, qui fournit alors un flux de sortie, puis donner ce flux de sortie à un deuxième programme pour qu'il y fasse un second traitement. | ||
- | Par exemple, vous voulez lister l'ensemble des fichiers dans ''/usr/bin'' (via ''ls'') mais vous ne voulez garder seulement les fichiers comportant ''term'' dans leur nom. Vous utiliserez alors la commande ''grep'' pour faire la 2e opération, qui fonctionne à la manière d'un filtre : | + | Par exemple, vous voulez lister l'ensemble des fichiers dans ''/usr/bin'' (via ''ls'') mais vous ne voulez garder seulement que les fichiers comportant ''term'' dans leur nom. Vous utiliserez alors la commande ''grep'' pour faire la 2e opération, qui fonctionne à la manière d'un filtre : |
<code user>ls /usr/bin | grep 'term'</code> | <code user>ls /usr/bin | grep 'term'</code> | ||
Ligne 165: | Ligne 165: | ||
<note info>Notez qu'ici, nous avons donné trois arguments à ''echo'' : | <note info>Notez qu'ici, nous avons donné trois arguments à ''echo'' : | ||
* Le premier argument est du texte simple, ils est donc entre guillemets simples : '' ' ''. | * Le premier argument est du texte simple, ils est donc entre guillemets simples : '' ' ''. | ||
- | * Le second argument comporte un code qui doit être interprété par le shell ''$(pwd)'' il doit donc donné entre guillemets doubles : '' " ''. | + | * Le second argument comporte un code qui doit être interprété par le shell ''$(pwd)'' il doit donc donner entre guillemets doubles : '' " ''. |
* Pour ne pas confondre l'apostrophe du troisième argument avec la fin d'un argument, il est indiqué entre guillemets doubles également. | * Pour ne pas confondre l'apostrophe du troisième argument avec la fin d'un argument, il est indiqué entre guillemets doubles également. | ||
</note> | </note> |