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:bash [01/04/2014 15:12] Hypathie [Script] |
doc:programmation:bash [20/04/2015 13:23] milou [Les commandes Linux] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Shell bash ====== | ====== Shell bash ====== | ||
- | ===== Page en cours de réalisation. ===== | + | * Objet : Shell bash |
+ | * Niveau requis :{{tag>débutant avisé}} | ||
+ | * Commentaires : FIXME | ||
+ | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | ||
+ | * Suivi : {{tag>à-tester}} | ||
+ | * Création par [[user>devpsp]] le 12/08/2010 | ||
+ | * Testé par .... le .... | ||
+ | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?pid=22578#p22578 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
+ | |||
+ | **Nota :** Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
* Cette page nécessite des relectures et des améliorations. | * Cette page nécessite des relectures et des améliorations. | ||
Ligne 7: | Ligne 16: | ||
* Un comité d'écriture/relecture peut être suggéré. | * Un comité d'écriture/relecture peut être suggéré. | ||
* Des liens dirigeant vers des pages internes/externes au wiki peuvent être ajoutées. | * Des liens dirigeant vers des pages internes/externes au wiki peuvent être ajoutées. | ||
- | |||
- | Lien au forum df : | ||
- | * http://debian-facile.org/forum/viewtopic.php?pid=22578#p22578 | ||
Rappel : lire le [[http://wiki.debian-facile.org/reglement|règlement interne]]. | Rappel : lire le [[http://wiki.debian-facile.org/reglement|règlement interne]]. | ||
- | ---- | ||
- | \\ | ||
- | Objet : Le shell bash\\ | ||
- | Niveau requis : DEBUTANT\\ | ||
- | Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
Ligne 29: | Ligne 30: | ||
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 | + | <code bash>/bin/bash</code> |
- | /bin/bash | + | |
- | </code> | + | |
Pour connaître la version de votre Shell Bash, tapez : | Pour connaître la version de votre Shell Bash, tapez : | ||
- | <code bash> | + | <code user>bash --version</code> |
- | user@debian-facile:~$ bash --version | + | <code bash>GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu) |
- | 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> | </code> | ||
Ligne 46: | 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> | + | <code bash>Mon mot de passe est $variable.</code> |
==== 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> | + | <code bash>Mon mot de passe est secret.</code> |
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 76: | Ligne 75: | ||
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 : ''AltGr 7'')) : | ||
- | $ 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. | Mon mot de passe est connu. | ||
Autre exemple : | Autre exemple : | ||
- | <code bash> | + | <code user> |
echo `ls` </code> | echo `ls` </code> | ||
Ligne 95: | 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 | + | <code bash>VARIABLE1=C'ESLERESTEDELACHAINE</code> |
//Merci à //**enikar**//, toujours vaillant sur l'irc df !// ;-) | //Merci à //**enikar**//, toujours vaillant sur l'irc df !// ;-) | ||
Ligne 140: | 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 | + | <code bash>cd est une primitive du shell |
</code> | </code> | ||
- | <code> | + | <code user> |
- | type cp | + | type cp</code> |
- | cp est /bin/cp | + | <code bash>cp est /bin/cp |
</code> | </code> | ||
- | <code> | + | <code user> |
- | type sleep | + | type sleep</code> |
- | sleep est /bin/sleep | + | <code bash>sleep est /bin/sleep |
</code> | </code> | ||
=> /bin/commande signifie que c'est une commande externe. | => /bin/commande signifie que c'est une commande externe. |