Transmettre un parametre
Résolu
sym59
Messages postés
46
Statut
Membre
-
sym59 Messages postés 46 Statut Membre -
sym59 Messages postés 46 Statut Membre -
Bonjour,
Savez-vous comment transmettre un paramètre à une autre fonction?
Je m'explique... J'ai plein de petites fonction
J'ai trouvé une petite solution à ce problème :
Quelqu'un pourrait m'aider?
Merci
Savez-vous comment transmettre un paramètre à une autre fonction?
Je m'explique... J'ai plein de petites fonction
$function fvar1 { echo "fvar1 : $1" }
$
$function fvar2 { echo "fvar2 : $1" }
... que je souhaite pouvoir appeler de façon individuelle ; jusque là tout va bien :
$var="est une fonction"Seulement, je souhaite aussi pouvoir les appeler toutes en même temps grâce à une autre fonction :
$fvar1 $var
fvar1 : est une fonction
$function test_multi_function {
$ fvar1
$ fvar2
$}
$var="est une fonction"
$test_multi_function $var
fvar1 :
fvar2 :
J'ai trouvé une petite solution à ce problème :
$function fvar1 { echo "fvar1 : $var2" }
$function fvar2 { echo "fvar2 : $var2" }
$function test_multi_function {
$var2=$1
$fvar1
$fvar2
$}
$var="est une fonction"
$test_multi_function $var
fvar1 : est une fonction
fvar2 : est une fonction Mais le problème c'est que je ne vois plus comment les appeler individuellement...
Quelqu'un pourrait m'aider?
Merci
A voir également:
- Transmettre un parametre
- Paramètre story facebook - Guide
- Remettre parametre usine pc - Guide
- Parametre dns - Guide
- Parametre windows - Guide
- Netflix paramètre compte - Guide
5 réponses
Salut,
$ cat foo.sh
#!/bin/bash
#set -x
A="$1"
B="$2"
fvar1 () {
echo "${FUNCNAME} : $A"
}
fvar2 () {
echo "${FUNCNAME} : $A"
}
fvar3 () {
echo "${FUNCNAME} : $A"
}
fvar4 () {
echo "${FUNCNAME} : $A"
}
fvar5 () {
echo "${FUNCNAME} : $A"
}
multi_f () {
for i in $(seq "$B")
do
echo -n "${FUNCNAME} : "; fvar${i} $A
done
}
fvar1 "$A"
fvar3 "$A"
multi_f "$A" "$B"
$ ./foo.sh "Est une fonction" 5
fvar1 : Est une fonction
fvar3 : Est une fonction
multi_f : fvar1 : Est une fonction
multi_f : fvar2 : Est une fonction
multi_f : fvar3 : Est une fonction
multi_f : fvar4 : Est une fonction
multi_f : fvar5 : Est une fonction
$
salut,
function test_multi_function {
> fvar1 "$1"
> fvar2 "$1"
>}
$ var="est une fonction"
$ test_multi_function "$var"
J'ai trouvé une solution qui marche mais qui ne me plait pas beaucoup car rajoute beaucoup de lignes de code :
Quelqu'un aurait une solution plus simple?
$function fvar1 {
$ if [ $# -eq 1 ];then
$ echo "fvar1 : $1"
$ else
$ echo "fvar1 : $var2"
$ fi
$}
$var="est une fonction"
$test_multi_function $var #test_multi_function inchangé, cf sujet de forum
fvar1 : est une fonction
fvar2 : est une fonction
$var="est une fonction"
$fvar1 $var
fvar1 : est une fonction
Quelqu'un aurait une solution plus simple?
Bonjour,
la deuxième ligne de commande #set -x a une importance ou c'est juste un commentaire? Je n'ai aucun changement avec ou sans...
${FUNCNAME} ne renvoie rien du tout
et la commande $ ./foo.sh "Est une fonction" 5 me renvoie :
PS : la commande ./foo.sh "Est une fonction" 5 a été placé dans un fichier .sh différent de foo.sh (sinon il continue à l'infinie, j'ai testé ^^)
la deuxième ligne de commande #set -x a une importance ou c'est juste un commentaire? Je n'ai aucun changement avec ou sans...
${FUNCNAME} ne renvoie rien du tout
et la commande $ ./foo.sh "Est une fonction" 5 me renvoie :
fvar1 : Est une fonctionaprès modifications de fvar1 et fvar3 (j'ai juste remplacé ${FUNCNAME} par le nom de la fonction
fvar3 : Est une fonction
seq: not found
PS : la commande ./foo.sh "Est une fonction" 5 a été placé dans un fichier .sh différent de foo.sh (sinon il continue à l'infinie, j'ai testé ^^)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
https://forums.commentcamarche.net/forum/affich-28730295-transmettre-un-parametre#4
Impeccable =)
Merci!
Impeccable =)
Merci!