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:bash [20/03/2014 06:26]
Hypathie rque
doc:programmation:bash [01/04/2014 15:05]
Hypathie [Script]
Ligne 20: Ligne 20:
 Niveau requis : DEBUTANT\\ ​ Niveau requis : DEBUTANT\\ ​
 Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
 +
  
 ===== Le Shell ===== ===== Le Shell =====
Ligne 112: Ligne 113:
   * [[:​doc:​systeme:​commandes:​gnu_linux | Les commandes Linux]]   * [[:​doc:​systeme:​commandes:​gnu_linux | Les commandes Linux]]
  
-====Les commandes internes et externes==== +====Les commandes internes et externes ​au shell bash==== 
-Le shell distingue deux sortes de commandes : les commandes internes et les commandes externes.+Le shell bash, comme les autres shell, ​distingue deux sortes de commandes : les commandes internes et les commandes externes.
  
 === Les commandes internes=== === Les commandes internes===
Ligne 123: Ligne 124:
   *les commandes simples : cat, chgrp, chmod, chown, cp, date, dd, df, dmesg, echo, ed, false, kill, ln, login, ls, mkdir, mknod, more, mount, mv, ps, pwd, rm, rmdir, sed, setserial, sh, stty, su, sync, true, umount, uname.   *les commandes simples : cat, chgrp, chmod, chown, cp, date, dd, df, dmesg, echo, ed, false, kill, ln, login, ls, mkdir, mknod, more, mount, mv, ps, pwd, rm, rmdir, sed, setserial, sh, stty, su, sync, true, umount, uname.
 FIXME FIXME
-  *les commandes composées par des mots clés: case...esac ; if ... fi ; for ... done ; select ... done ; until ... done ; while ... done ; {  } ; (  ) ; ((houps, les doubles parenthèses relèvent de la syntaxe DokuWiki qui provoque une note)) ; [ ] ; [[ ]] ; ((Il semble que ] soit commun à différents ​shell et que les doubles crochets soient strictement un bashisme )) +  *les commandes composées par des mots clés: ​ 
-FIXME+<​code>​ 
 +case ... esac ; if ... fi ; for ... done ; select ... done ; until ... done ; while ... done ; {...} ; ( ... ) ; ((...)) ; [ ... ] ; [[ ]] 
 +</​code>​ 
 +Pour leur syntaxe, voir : [[doc:​programmation:​shell:​avancee#​instruction-conditionnelle-if]] ​
  
 +remarque : Il semble que [ ] soit commun à différents shell et que les doubles crochets soient strictement un bashisme ! FIXME
 <​note>​ <​note>​
 remarque : Un mot clé est un mot, une expression ou un opérateur réservé. Il a une signification particulière pour le shell. Un ensemble de mots clés constitue un bloc permettant la syntaxe du shell. Un mot clé n'est pas strictement une commande, mais fait partie d'un ensemble plus large de commandes. remarque : Un mot clé est un mot, une expression ou un opérateur réservé. Il a une signification particulière pour le shell. Un ensemble de mots clés constitue un bloc permettant la syntaxe du shell. Un mot clé n'est pas strictement une commande, mais fait partie d'un ensemble plus large de commandes.
Ligne 160: Ligne 165:
  
 Voir : Voir :
 +  * [[doc:​programmation:​shell:​shell#​enchainer-plusieurs-commandes]]
   * [[:​doc:​systeme:​commandes:​gnu_linux | La ligne de commande]]   * [[:​doc:​systeme:​commandes:​gnu_linux | La ligne de commande]]
  
Ligne 176: Ligne 182:
 ===== Script ===== ===== Script =====
  
-Un **script** est la rédaction dans un fichier texte d'un ensemble de //​commandes//​ et d'​expressions régulières (caractères utilisés symboliquement) orientant les instructions données aux commandes.\\ +Un **script** est la rédaction dans un fichier texte d'un ensemble de //​commandes//​ et d'​expressions régulières (caractères utilisés symboliquement) orientant les instructions données aux commandes.\\  
-Pour écrire des expressions régulières ​on utilise des opérateurs de contrôle, et des opérateurs de redirection. +Il faut connaître les caractères spéciaux du shell, parmi lesquels ​on trouve :\\  
-  ​-les ​opérateurs de contrôle servent à séparer deux commandes ou deux listes.  +1) opérateurs de direction ​     
-   Ce sont   && ​   ()    {}    ;    ;;    |    |+<​code>​ 
-  -les opérateurs de redirection servent à rediriger les entrées/sorties et portent sur une seule commande. + > ​    >> ​      << ​   >& ​   | 
-   Ce sont<    ​      ​| ​  << ​   ​>> ​   <& ​   ​>&    ​<<-    ​<>+</code> 
 +On peut faire la liste de leurs emplois ainsi :\\  
 +« » (=« 1»), « 2», « >> ​» (=« 1>> »), « 2>> », « » (=« 0»), « << » (=« 0<< »), « X>&Y » (=rediriger le flux X dans le flux Y), « | ».
  
-Pour les DÉBUTANTS AVISÉS et anglophile, voir là :+  * [[doc:programmation:​shell:​shell#​rediriger-l-affichage]] 
 +  * [[doc:​programmation:​shell:​chevrons]] 
 +  * [[doc:​programmation:​shell:​pipe]]
  
-  * [[:doc:​programmation:​shell:​scripts ​Des scripts à foison commentés en anglais]]+2) les caractères d'​enchaînement de commandes ​  
 +<​code>​ 
 +  &    && ​   ( )    { }    ;    |
  
-//Merci à //​**cthuluh**//​ pour nous avoir proposé ce lien.// ​:-)+</code> 
 + ​Voir ​[[doc:​programmation:​shell:​shell#​enchainer-plusieurs-commandes]]
  
 +<​note>​ Il est parfois difficile de trancher pour classifier les caractères spéciaux et affirmer s'ils font partie de la rubrique "​enchaînement de commandes"​ ou "​redirection de flux"​.\\  ​
 +Par exemple, les caractères spéciaux qui permet au shell de substituer des commandes : 
 +$( ) et `  `.
 +Ce mécanisme transforme un flux dynamique en un flux statique, puisque la valeur de la variable pend pour valeur le résultat de la commande. On est là à mis-chemin entre l'​enchaînement de commandes que de l'​enchaînement de flux 
 +<code bash>
 +echo $(cat fichier)
 +echo `cat fichier`
 +</​code>​
 +</​note> ​
 +Pour une vue d'​ensemble sur les caractères spéciaux : [[atelier:​chantier:​bash-les-differents-caracteres-speciaux?&#​les-caracteres-speciaux]]
 +
 +Pour une vue d'​ensemble sur la doc qui concerne les scripts : [[doc:​programmation:​scripts]].
  
 ===== Liens et remerciements ===== ===== Liens et remerciements =====
 +Pour les DÉBUTANTS AVISÉS et anglophile, voir là :
  
 +  * [[:​doc:​programmation:​scripts#​scripts-debian-facile | Scripts debian-facile]]
 +//Merci à //​**cthuluh**//​ pour nous avoir proposé ce lien.// :-)
 +  * [[http://​mywiki.wooledge.org/​BashFAQ | Des scripts à foison commentés en anglais]]
 +  ​
 //Merci à //​**devpsp**//​ d'​avoir initié cette page, et au //​**captnfab**//​ qui de son site ici :// //Merci à //​**devpsp**//​ d'​avoir initié cette page, et au //​**captnfab**//​ qui de son site ici ://
   * http://​wiki.chezlefab.net/​about/​accueil   * http://​wiki.chezlefab.net/​about/​accueil
  
-//Veille à nous éviter bien des ecueils ​!// ;-)+//Veille à nous éviter bien des écueils ​!// ;-) 
 + 
 +//Merci //​**cthuluh**//​ de nous l'​avoir proposé sur l'​irc.//​ :-)
doc/programmation/bash.txt · Dernière modification: 07/04/2016 11:03 par wlourf

Pied de page des forums

Propulsé par FluxBB