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:shell:shell [26/01/2016 14:04]
greenmerlin [Enchaîner plusieurs commandes]
doc:programmation:shell:shell [26/01/2016 17:45]
milou [Enchaîner plusieurs commandes]
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>​
Ligne 185: Ligne 185:
 ===== Variables et environnement ===== ===== Variables et environnement =====
  
-Dans un shell, il y a tout un tas de variables qui lui sont transmises ​la le processus l'​ayant lancé. On les appelles ​les variables d'​environnement,​ et elles sont listées par la commande ''​env''​ :+Dans un shell, il y a tout un tas de variables qui lui sont transmises ​par le processus l'​ayant lancé. On les appelle ​les variables d'​environnement,​ et elles sont listées par la commande ''​env''​ :
 <code user>​env</​code>​ <code user>​env</​code>​
  
Ligne 218: Ligne 218:
 <code user>​iceweasel &</​code>​ <code user>​iceweasel &</​code>​
  
-Avec cela, iceweasel va être lancé, mais vous aurez toujours la main dans le shell (tapes entrée pour le vérifier.)+Avec cela, iceweasel va être lancé, mais vous aurez toujours la main dans le shell (tape <key>entrée</​key> ​pour le vérifier.)
  
 <note tip>​Oups,​ j'ai oublié de mettre le ''&'',​ comment je fais ? <note tip>​Oups,​ j'ai oublié de mettre le ''&'',​ comment je fais ?
Ligne 232: Ligne 232:
 <note tip>​Oups,​ j'ai oublié de mettre le ''​!'',​ comment je fais ? <note tip>​Oups,​ j'ai oublié de mettre le ''​!'',​ comment je fais ?
  
-Il suffit de taper ''​disown leprogramme''​ (faire ​tab pour voir les propositions)</​note>​+Il suffit de taper ''​disown leprogramme''​ (faire ​<​key>​Tab</​key> ​pour voir les propositions)</​note>​
  
 ===== Enchaîner plusieurs commandes ​ ===== ===== Enchaîner plusieurs commandes ​ =====
Ligne 258: Ligne 258:
  
 <note important>​Il ne faut pas confondre le code retour de la commande avec son résultat. Le résultat est ce qui s'​affiche à l'​écran. Le code de retour est une valeur numérique qui peut être utilisé dans un test par exemple. ​ \\ <note important>​Il ne faut pas confondre le code retour de la commande avec son résultat. Le résultat est ce qui s'​affiche à l'​écran. Le code de retour est une valeur numérique qui peut être utilisé dans un test par exemple. ​ \\
-On peu afficher le code retour de la dernière commande exécutée avec +On peut afficher le code retour de la dernière commande exécutée avec 
 <code user>​echo $?</​code></​note>​ <code user>​echo $?</​code></​note>​
  
Ligne 275: Ligne 275:
 <code user>ls /​usr/​tmp/​coucou || touch /​usr/​tmp/​coucou</​code>​ <code user>ls /​usr/​tmp/​coucou || touch /​usr/​tmp/​coucou</​code>​
  
-<note tip>On peut combiner ces opérateur. Il suffit de se rappeler qu'il vont prendre en compte le code retour de la dernière commande exécutée.:​-)</​note>​+<note tip>On peut combiner ces opérateurs. Il suffit de se rappeler qu'il vont prendre en compte le code retour de la dernière commande exécutée.:​-)</​note>​
  
 Ces opérateurs fonctionnent un peu comme des tests //if//. Pour plus de précision sur les tests, on peut consulter :  [[doc:​programmation:​shell:​avancee|Fonctionnalités avancées du Shell]] Ces opérateurs fonctionnent un peu comme des tests //if//. Pour plus de précision sur les tests, on peut consulter :  [[doc:​programmation:​shell:​avancee|Fonctionnalités avancées du Shell]]
doc/programmation/shell/shell.txt · Dernière modification: 05/10/2022 19:53 par ubub

Pied de page des forums

Propulsé par FluxBB