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
doc:programmation:bash [19/04/2015 17:33]
milou [Shell bash]
doc:programmation:bash [07/04/2016 11:03] (Version actuelle)
wlourf [Quotes, apostrophe, guillemets et apostrophe inversée]
Ligne 1: Ligne 1:
-====== ​Shell bash ======+====== ​shell bash ======
  
-  * Objet : Shell bash +  * Objet : shell bash 
   * Niveau requis :​{{tag>​débutant avisé}}   * Niveau requis :​{{tag>​débutant avisé}}
-  * Commentaires : FIXME+  * Commentaires : //Le shell bash, interpréteur de lignes de commande - Présentation//​
   * 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à !]] :-)
   * Suivi : {{tag>​à-tester}}   * Suivi : {{tag>​à-tester}}
Ligne 23: Ligne 23:
  
  
-===== Le Shell =====+===== Le shell =====
  
-Le Shell est un interpréteur (ou interface) de lignes de commande, ce programme fonctionne à partir d'​instructions en mode texte saisies dans la/le [[:​doc:​systeme:​terminal|console/​terminal]].+Le shell est un interpréteur (ou interface) de lignes de commande, ce programme fonctionne à partir d'​instructions en mode texte saisies dans la/le [[:​doc:​systeme:​terminal|console/​terminal]].
  
-Il existe plusieurs shell, bien souvent par défaut, c'est le **Shell Bash** qui est utilisé.+Il existe plusieurs shell, bien souvent par défaut, c'est le **shell bash** qui est utilisé.
  
 Pour savoir quel shell vous utilisez par défaut, tapez : Pour savoir quel shell vous utilisez par défaut, tapez :
-<​code ​bash> +<code user>echo $SHELL</​code>​ 
-user@debian-facile:​~$ ​echo $SHELL +<file config retour de la commande>​/​bin/​bash</​file> 
-/bin/bash + 
-</code+ Pour connaître la version de votre shell bash, tapez : 
- Pour connaître la version de votre Shell Bash, tapez : +<code user>bash --version</​code>​ 
-<​code ​bash> +<file config retour de la commande>​GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)
-user@debian-facile:​~$ ​bash --version +
-GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)+
 Copyright (C) 2007 Free Software Foundation, Inc. Copyright (C) 2007 Free Software Foundation, Inc.
-</code>+</file>
  
 ===== Quotes, apostrophe, guillemets et apostrophe inversée ===== ===== Quotes, apostrophe, guillemets et apostrophe inversée =====
Ligne 47: Ligne 45:
 Les simples quotes : ' délimitent une chaîne de caractères. \\ Les simples quotes : ' délimitent une chaîne de caractères. \\
 Même si cette chaîne contient des commandes ou des variables shell, celles-ci ne seront pas interprétées. Par exemple : Même si cette chaîne contient des commandes ou des variables shell, celles-ci ne seront pas interprétées. Par exemple :
-<​code ​bash+<​code ​user
-variable='​secret'​ +variable='​secret'​ 
-echo 'Mon mot de passe est $variable.'​ +echo 'Mon mot de passe est $variable.'​</​code>​ 
-Mon mot de passe est $variable.</​code>+<file config retour de la commande>​Mon mot de passe est $variable.</​file>
  
 ==== Doubles quotes ou guillements ==== ==== Doubles quotes ou guillements ====
  
 Les doubles quotes : " délimitent une chaîne de caractères,​ mais les noms de variable sont interprétés par le shell. Par exemple : Les doubles quotes : " délimitent une chaîne de caractères,​ mais les noms de variable sont interprétés par le shell. Par exemple :
-<​code ​bash+<​code ​user
-variable="​secret"​ +variable="​secret"​ 
-echo "Mon mot de passe est $variable."​ +echo "Mon mot de passe est $variable."​</​code>​ 
-Mon mot de passe est secret.</​code>+<file config retour de la commande>​Mon mot de passe est secret.</​file>
  
 Ceci est utile pour générer des messages dynamiques au sein d'un script. Ceci est utile pour générer des messages dynamiques au sein d'un script.
Ligne 73: Ligne 71:
 ==== Anti-quote ou apostrophe inversée ==== ==== Anti-quote ou apostrophe inversée ====
  
-Bash considère que les anti-quotes (`) délimitent une commande à exécuter. \\+bash considère que les anti-quotes (`) délimitent une commande à exécuter. \\
 Les noms de variable et les commandes sont donc interprétés. Les noms de variable et les commandes sont donc interprétés.
  
-Par exemple en mettant toute cette commande entre deux Anti-quotes((L'​anti-quote s'​obtient avec les 2 touches simultanées du clavier : ''​AltGr 7''​)) : +Par exemple en mettant toute cette commande entre deux Anti-quotes((L'​anti-quote s'​obtient avec les 2 touches simultanées du clavier : <key>AltGr-7</​key>​)) : 
-  ​$ ​echo  `variable="​connu";​ echo "Mon mot de passe est $variable."​` +<code user>echo  `variable="​connu";​ echo "Mon mot de passe est $variable."​`</​code>​
 On obtiendra : On obtiendra :
-  ​Mon mot de passe est connu.+<file config retour de la commande>​Mon mot de passe est connu.</​file>​
  
 Autre exemple : Autre exemple :
-<​code ​bash>+<​code ​user>
 echo `ls` </​code>​ echo `ls` </​code>​
  
Ligne 96: Ligne 93:
 Par exemple : Par exemple :
 pour délimiter le nom de la variable ici on peut écrire :  pour délimiter le nom de la variable ici on peut écrire : 
-   VARIABLE1="​${VARIABLE}RESTEDELACHAINE"​+<code user>VARIABLE1="​${VARIABLE}RESTEDELACHAINE"​</​code>​
  
 Et si VARIABLE = "​C'​ESTLE",​ nous obtiendrons pour la signification de VARIABLE1 : Et si VARIABLE = "​C'​ESTLE",​ nous obtiendrons pour la signification de VARIABLE1 :
-   echo VARIABLE1="​${VARIABLE}RESTEDELACHAINE"​ +<code user>echo VARIABLE1="​${VARIABLE}RESTEDELACHAINE"​</​code>​ 
-   ​VARIABLE1=C'​ESLERESTEDELACHAINE+<file config retour de la commande>​VARIABLE1=C'​ESLERESTEDELACHAINE</​file>​
  
 //Merci à //​**enikar**//,​ toujours vaillant sur l'irc df !// ;-) //Merci à //​**enikar**//,​ toujours vaillant sur l'irc df !// ;-)
Ligne 141: Ligne 138:
 <​note>​ <​note>​
 Pour connaître le statut d'une commande, avec bash, on peut utiliser **la commande interne type**:​\\ ​ Pour connaître le statut d'une commande, avec bash, on peut utiliser **la commande interne type**:​\\ ​
-<​code>​ +<​code ​user
-type cd +type cd</​code>​ 
-cd est une primitive du shell +<file config retour de la commande>​cd est une primitive du shell 
-</code+</file
-<​code>​ +<​code ​user
-type cp +type cp</​code>​ 
-cp est /bin/cp +<file config retour de la commande>​cp est /bin/cp 
-</code+</file
-<​code>​ +<​code ​user
-type sleep +type sleep</​code>​ 
-sleep est /​bin/​sleep +<file config retour de la commande>​sleep est /​bin/​sleep 
-</code>+</file>
 => /​bin/​commande signifie que c'est une commande externe. => /​bin/​commande signifie que c'est une commande externe.
 </​note>​ </​note>​
Ligne 206: Ligne 203:
 Prenons par exemple, les caractères spéciaux qui permettent au shell de substituer des commandes :  Prenons par exemple, les caractères spéciaux qui permettent au shell de substituer des commandes : 
 $( ) et `  `. $( ) et `  `.
-Ils enclenchent un mécanisme qui transforme un flux dynamique en un flux statique, puisque la valeur de la variable ​pend pour valeur, le résultat de la commande, une fois le programme de celle-ci achevé. On est là, à mis-chemin entre l'​enchaînement de commandes et redirection de flux !   +Ils enclenchent un mécanisme qui transforme un flux dynamique en un flux statique, puisque la valeur de la variable ​prend pour valeur, le résultat de la commande, une fois le programme de celle-ci achevé. On est là, à mi-chemin entre l'​enchaînement de commandes et redirection de flux !   
-<​code ​bash+<​code ​user
-echo $(cat fichier) +echo $(cat fichier)</​code>​ 
-echo `cat fichier`+<code bash>echo `cat fichier`
 </​code>​ </​code>​
 </​note> ​ </​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 les caractères spéciaux : [[doc:programmation:​shells:​bash-les-differents-caracteres-speciaux?&#​les-caracteres-speciaux]]
  
 Pour une vue d'​ensemble sur la doc qui concerne les scripts : [[doc:​programmation:​scripts]]. Pour une vue d'​ensemble sur la doc qui concerne les scripts : [[doc:​programmation:​scripts]].
 +
 +===== Pour aller plus loin =====
 +  * [[doc:​programmation:​bash:​config | Bash, découverte avancée]]
  
 ===== Liens et remerciements ===== ===== Liens et remerciements =====
doc/programmation/bash.1429457581.txt.gz · Dernière modification: 19/04/2015 17:33 par milou

Pied de page des forums

Propulsé par FluxBB