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:shells:fonction [21/10/2015 17:38] milou [Définition d'une fonction] |
doc:programmation:shells:fonction [23/11/2020 09:37] Hypathie [Définition d'une fonction] |
||
---|---|---|---|
Ligne 15: | Ligne 15: | ||
**Nota : Les autres wiki :** | **Nota : Les autres wiki :** | ||
- | * [[atelier:chantier:debuter-avec-les-scripts-shell-bash]] | + | * [[doc:programmation:shells:debuter-avec-les-scripts-shell-bash]] |
- | * [[atelier:chantier:script-bash-variables-arguments-parametres|script-bash-variables-arguments-parametres]] | + | * [[doc:programmation:shells:script-bash-variables-arguments-parametres|script-bash-variables-arguments-parametres]] |
- | * [[atelier:chantier:script-bash-detail-sur-les-parametres-et-les-boucles|modification de variable et de paramètre]] | + | * [[doc:programmation:shells:script-bash-detail-sur-les-parametres-et-les-boucles|modification de variable et de paramètre]] |
- | * [[atelier:chantier:script-bash-enchainement-de-commandes-et-etat-de-sortie|script-bash-enchainement-de-commandes-et-etat-de-sortie]] | + | * [[doc:programmation:shells:script-bash-enchainement-de-commandes-et-etat-de-sortie|script-bash-enchainement-de-commandes-et-etat-de-sortie]] |
- | * [[atelier:chantier:script-bash-etat-de-sorie-et-les-tests|script-bash-etat-de-sorie-et-les-tests]] | + | * [[doc:programmation:shells:script-bash-etat-de-sorie-et-les-tests|script-bash-etat-de-sorie-et-les-tests]] |
- | * [[doc:programmation:bash:script:tableaux|script-bash-les-tableaux]] | + | * [[doc:programmation:shells:tableaux|script-bash-les-tableaux]] |
* ;-) | * ;-) | ||
| | ||
Ligne 131: | Ligne 131: | ||
==== Les arguments d'une fonction ==== | ==== Les arguments d'une fonction ==== | ||
- | *Les appels des arguments d'une fonction sont placés dans le corps de celle-ci\\ | + | |
+ | |||
+ | *Les appels des arguments d'une fonction sont placés dans le corps de celle-ci.\\ | ||
*Et les arguments sont placés de gauche à droite et du premier au dernier, à côté du nom d'appel de la fonction\\ | *Et les arguments sont placés de gauche à droite et du premier au dernier, à côté du nom d'appel de la fonction\\ | ||
*la valeur du premier argument est référencée par ''$1''\\ | *la valeur du premier argument est référencée par ''$1''\\ | ||
*la valeur du deuxième argument est référencée par ''$2'', etc.\\ | *la valeur du deuxième argument est référencée par ''$2'', etc.\\ | ||
- | *les paramètres spéciaux ''$0'' (nom programme), ''$#'' (nombre de paramètre), $@ (tous les paramètres) , ''$*'' (chacun de tous les paramètres), ''$?'' (valeur de retour du programme) | + | *les paramètres spéciaux ''$0'' (Contient le nom du script tel qu'il a été invoqué), ''$#'' (Le nombre de paramètres passés au script), $@ (l'ensemble des arguments, un argument par paramètre) , ''$*'' (l'ensemble des paramètres sous la forme d'un seul argument), ''$?'' (Le code retour de la dernière commande), ''$$'' (le PID su shell qui exécute le script), ''$!'' (le PID du dernier processus lancé en arrière-plan) |
<code bash mon-script> | <code bash mon-script> | ||
Ligne 249: | Ligne 252: | ||
Créer une fonction qui permet d'afficher une variable et les paramètres passés au script. | Créer une fonction qui permet d'afficher une variable et les paramètres passés au script. | ||
- | <code bash> | + | <code bash script essai.sh> |
#!/bin/bash | #!/bin/bash | ||
var=coucou | var=coucou | ||
Ligne 274: | Ligne 277: | ||
À savoir : Comme la commande "exit", la commande "return" permet de changer le code de retour, mais contrairement à "exit", return fait sortir de la fonction (arrête l'exécution des commandes du corps de la fonction), sans arrêter l'ensemble du programme (script). | À savoir : Comme la commande "exit", la commande "return" permet de changer le code de retour, mais contrairement à "exit", return fait sortir de la fonction (arrête l'exécution des commandes du corps de la fonction), sans arrêter l'ensemble du programme (script). | ||
- | <code bash> | + | <code bash script> |
#!/bin/bash | #!/bin/bash | ||
Ligne 326: | Ligne 329: | ||
* Soit le script "echocolor.sh" ci-dessous : | * Soit le script "echocolor.sh" ci-dessous : | ||
- | <code bash> | + | <code bash script echocolor.sh> |
# voici des variables affectée des codes couleurs qu'on trouve sur le net | # voici des variables affectée des codes couleurs qu'on trouve sur le net | ||
noir='\e[0;30m' | noir='\e[0;30m' | ||
Ligne 355: | Ligne 358: | ||
* Dans le script "source.sh" ci-dessous, on va se servir de la fonction "echocolor" du script "echocolor.sh" pour coloriser les sorties des commandes. | * Dans le script "source.sh" ci-dessous, on va se servir de la fonction "echocolor" du script "echocolor.sh" pour coloriser les sorties des commandes. | ||
- | <code bash> | + | <code bash script source.sh> |
#!/bin/bash | #!/bin/bash | ||
source echocolor.sh # ou .nom_du_script | source echocolor.sh # ou .nom_du_script | ||
Ligne 379: | Ligne 382: | ||
OU MIEUX : | OU MIEUX : | ||
- | <code bash> | + | <code bash script source.sh> |
#!/bin/bash | #!/bin/bash | ||
source echocolor.sh # ou .nom_du_script | source echocolor.sh # ou .nom_du_script |