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:shell:avancee [01/10/2013 00:14] captnfab [Les fonctions] |
doc:programmation:shell:avancee [03/07/2014 00:06] 127.0.0.1 modification externe |
||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
* À savoir : [[:doc:programmation:shell:]] | * À savoir : [[:doc:programmation:shell:]] | ||
* Suivi : {{tag>en-chantier à-tester}} | * Suivi : {{tag>en-chantier à-tester}} | ||
- | * Création par **captnfab** 30/09/2013 | + | * Création par [[user>captnfab]] 30/09/2013 |
- | * Testé par <...> le <...> FIXME | + | * Testé par smolski le 01/10/2013 |
- | * Commentaires sur le forum : [[url | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | + | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?pid=68350 | ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
- | === Nota === | + | **Nota :** |
Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
Ligne 74: | Ligne 74: | ||
echo 'Je suis dans le faux' | echo 'Je suis dans le faux' | ||
fi</code> | fi</code> | ||
+ | |||
+ | Le copié/collé puis la validation de cette instruction vous donnera : | ||
<code>Je suis dans le vrai.</code> | <code>Je suis dans le vrai.</code> | ||
+ | |||
+ | //Ce qui n'est donc pas un mensonge !// ;-) | ||
D'autres exemples utilisant les conditions prédéfinies : | D'autres exemples utilisant les conditions prédéfinies : | ||
Ligne 105: | Ligne 109: | ||
==== Boucle pour tout ''for'' ==== | ==== Boucle pour tout ''for'' ==== | ||
- | <code user>for i in "les fleurs" "le lapin" "le choux" "la salade" "le staff DF"; | + | <code user>for i in "les fleurs" "le lapin" "le chou" "la salade" "le staff DF"; |
do | do | ||
echo "J'aime $i." | echo "J'aime $i." | ||
done</code> | done</code> | ||
+ | |||
+ | ==== Sélecteur ''case'' ==== | ||
+ | |||
+ | <code user>read x ; case "$x" in | ||
+ | bonjour) | ||
+ | echo "Bonjour $USER" | ||
+ | ;; | ||
+ | aurevoir) | ||
+ | echo "Au revoir $USER" | ||
+ | ;; | ||
+ | *) | ||
+ | echo "Que voulez-vous dire par '$x' $USER ?" | ||
+ | esac</code> | ||
===== Les fonctions ===== | ===== Les fonctions ===== | ||
- | La syntaxe à utiliser dans le corps d'une fonction pour en récupérer les arguments est similaire à celle d'un fichier de script. Voir [[doc:programmation:shell:scripts]]. | + | La syntaxe à utiliser dans le corps d'une fonction pour en récupérer les arguments est similaire à celle d'un fichier de script.\\ |
+ | Pour une explication sur les différentes syntaxes voir : [[atelier:chantier:debuter-avec-les-scripts-shell-bash#les-fonctions]]\\ | ||
+ | |||
+ | Rappel : | ||
- | Pour le reste, le corps d'une fonction se définit de manière assez simple. Notons que les arguments ne sont pas précisés entre parenthèses. | + | *Pour le reste, le corps d'une fonction se définit de manière assez simple. Notons que les arguments ne sont pas précisés entre parenthèses. |
- | L'appel de la fonction se fait ensuite comme l'appel d'un programme (cf. dernière ligne.) | + | *L'appel de la fonction se fait ensuite comme l'appel d'un programme (cf. dernière ligne.) |
<code user>function ma_fonction() | <code user>function ma_fonction() |