Re: RE [ssfr] Récupérer $1 dans une fonction |
[ Thread Index |
Date Index
| More debianworld.org/shellscript-fr Archives
]
Ludovic Cesar wrote:
Salut,
Ne faudrait'il pas matcher ta variable $1 dans une autre variable pour
qu'elle soit interprètée dans ta fonction ?
_Comme cela:_
<script>
#!/bin/bash
VAR1=$1
function hello {
echo "\$1 vaut $VAR1"
}
hello
</script>
Il doit y avoir surement une raison du pourquoi le "$1" n'est pas
interprété comme tel dans la fonction, genre un parmaètre que l'ont
pourrai passer à la fonction.
Mais je n'en suit pas sûr. Mais quelqu'un pourra surement nous
expliquer cela ;-)
Ludo
Salut la liste,
Une question vraiment bête mais dont je n'arrive pas à trouver la
solution ...
Soit le script test.sh. Je veux l'appeler via :
./test.sh un_argument
avec
<script>
#!/bin/bash
function hello {
echo "\$1 vaut $1"
}
hello
</script>
La sortie donne :
$1 vaut
Donc $1 n'est pas repris par la fonction hello. Ma question est donc
comment récupérer $1 dans cette fonction ?
Merci d'avance de me faire dire "Ah c'était aussi c.. que ça !"
Bonne semaine
--
steve
---
Hello
$1 est utilisé pour l'appel de fonction lui-même.
('set' permet de modifier/définir les paramètres positionnels).
cluster1:/ # function prout { echo $1; }
cluster1:/ # prout bla
bla
cluster1:/ # set truc
cluster1:/ # prout $1
truc
Il faut donc passer $1 en paramètre à ta fonction.
De plus, $1 est local à la fonction. Tu retrouves donc la valeur
"initiale" au retour de l'appel:
cluster1:/ # set truc; prout bla; echo $1
bla
truc
Philippe
---