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 | ||
doc:programmation:shells:script-bash-variables-arguments-parametres [06/01/2021 16:52] captnfab |
doc:programmation:shells:script-bash-variables-arguments-parametres [23/02/2023 02:20] (Version actuelle) agp91 [Variables numériques et calculs] |
||
---|---|---|---|
Ligne 378: | Ligne 378: | ||
* Pour récupérer tous les paramètres : $@ | * Pour récupérer tous les paramètres : $@ | ||
+ | |||
+ | * Pour récupérer le nombre de paramètres passés au script : $# | ||
+ | |||
+ | * Pour récupérer la dernière commande : $? | ||
+ | (Par défaut, 0 quand tout s'est bien passé, 1 quand il y a une erreur, sinon on fait exit xx, $? affiche xx) | ||
EXEMPLES : soit le script "essai.sh" | EXEMPLES : soit le script "essai.sh" | ||
Ligne 490: | Ligne 495: | ||
</file> | </file> | ||
+ | |||
+ | |||
+ | |||
+ | <code bash script essai.sh> | ||
+ | #! /bin/bash | ||
+ | |||
+ | Nombre_arguments_attendus=1 | ||
+ | |||
+ | if [ $# -ne $Nombre_arguments_attendus ]; then | ||
+ | echo "Le nombre d'arguments est invalide : $#" | ||
+ | echo "Nombre argument attendu : ${Nombre_arguments_attendus} " | ||
+ | fi | ||
+ | #if [ "$#" -ne 1 ]; then | ||
+ | # echo "Le nombre d'arguments est invalide" | ||
+ | #fi | ||
+ | |||
+ | echo "Script Started !" | ||
+ | </code> | ||
+ | |||
+ | <code user> | ||
+ | ./essai.sh | ||
+ | </code> | ||
+ | |||
+ | <file config retour de la commande> | ||
+ | Script Started ! | ||
+ | </file> | ||
+ | |||
+ | |||
=====Récupérer la longueur d'une valeur de variable===== | =====Récupérer la longueur d'une valeur de variable===== | ||
Ligne 577: | Ligne 610: | ||
<note important> | <note important> | ||
**Méthode non POSIX**\\ | **Méthode non POSIX**\\ | ||
- | * La valeur d'une variable peut une expression arithmétique, pour initialiser une variable de type entier on utilise l'option ''-i'' de la commande ''declare'' :\\ ''declare -i nom[=expression] nom[=expression] ...'' | + | * La valeur d'une variable peut être une expression arithmétique, pour initialiser une variable de type entier on utilise l'option ''-i'' de la commande ''declare'' :\\ ''declare -i nom[=expression] ...'' |
<code bash script> | <code bash script> | ||
Ligne 601: | Ligne 634: | ||
80 | 80 | ||
</code> | </code> | ||
- | |||
- | **Méthode POSIX** : Les commandes ''let'' et ''<nowiki>(( ... ))</nowiki>'' permettent de typer les variables pour effectuer des calculs sur les variables (synonyme de ''declare -i''). | ||
</note> | </note> | ||
Ligne 706: | Ligne 737: | ||
done | done | ||
</code> | </code> | ||
+ | |||
[[doc:programmation:bash:script:tableaux#se-creuser-un-peu-les-meninges|voir aussi ici]] | [[doc:programmation:bash:script:tableaux#se-creuser-un-peu-les-meninges|voir aussi ici]] | ||
+ | |||
+ | <note important> | ||
+ | La commande **$[**...**]** équivalente à la commande **$<nowiki>((</nowiki>**..**<nowiki>))</nowiki>** __**ne doit plus être utilisée**__.\\ | ||
+ | \\ | ||
+ | Pour des raisons de rétrocompatibilité, **$[**...**]** est toujours active dans nos interpréteurs actuels. Mais déjà, elle n'est plus documentée dans la page du manuel de bash.\\ | ||
+ | ... Viendra, où **$[**...**]** **ne sera plus disponible**.\\ | ||
+ | \\ | ||
+ | La commande d'incrémentation **let $[ i+=1 ]** doit être écrite ainsi : **let i+=1** ou **let i++** ou **<nowiki>((i++))</nowiki>**. | ||
+ | </note> | ||
* Ou encore de cette manière : | * Ou encore de cette manière : |