Bonjour,
Dans un script, j'ai un $# et $? et j'ai beau cherché sur le net je ne vois rien.
Pourriez vous me donner un coup de main?:ccool:
Merci d'avance,
Rouget
Version imprimable
Bonjour,
Dans un script, j'ai un $# et $? et j'ai beau cherché sur le net je ne vois rien.
Pourriez vous me donner un coup de main?:ccool:
Merci d'avance,
Rouget
$# est le nombre de paramètres $1, $2, $3 qui ont été passé à ton script ou a ta fonction.Citation:
man bash
...
# Expands to the number of positional parameters in decimal.
? Expands to the status of the most recently executed foreground
pipeline.
...
$? est le status de la dernière commande exécutée.
Bonjour et merci de vos réponses.
par contre je ne comprends pas:
$# est le nombre de paramètres $1, $2, $3 qui ont été passé à ton script ou a ta fonction
Le terme "passé" m'inspire pas vraiment!!!
Sans vouloir exagérer, est ce que vous pourriez developper?
Merci d'avance,
Rouget
Quand tu appèles un script avec "./script arg1 arg2 arg3" ou une fonction avec "function arg1 arg2 arg3", les arguments arg1, arg2 et arg3 sont passés dans les variables spéciales $1, $2 et $3 (qu'on appèles "positional parameters"). S'il y a N arguments, il a N positional parameters, et $# vaut N.
petit exemple pour compléter et illustrer
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #!/bin/ksh displayParam() { echo "parameter $1 is $2" } echo "$0: there is $# parameters" x=0 for i in $* do let x=x+1 displayParam $x $i done
Code:
1
2
3
4
5
6 $ ./args.ksh a b c ./args.ksh: there is 3 parameters parameter 0 is a parameter 1 is b parameter 2 is c
:hola:Merci matafan et jabbounet.
Je pense que l'on ne peut pas etre plus claire...meme si j'avoue que j'ai du mal à l'assimiler.
Merci encore d'avoir passer de votre temps!!!
Rouget.