Bash - Assigner la valeur d'une fonction
Résolu
Bonjour,
Je voulais savoir s'il est possible, sous Bash, d'assigner a une variable la valeur de retour d'une fonction. Voici mon script :
#! /bin/bash
function Retour()
{
nombre=3
carre=$(( $nombre * $nombre))
return $carre
}
y=$Retour;
echo -e "\n\n\t\tLe carre de $nombre est $y\n\n";
Je l'ai essaye mais ca ne fonctionne pas.
Merci,
Je voulais savoir s'il est possible, sous Bash, d'assigner a une variable la valeur de retour d'une fonction. Voici mon script :
#! /bin/bash
function Retour()
{
nombre=3
carre=$(( $nombre * $nombre))
return $carre
}
y=$Retour;
echo -e "\n\n\t\tLe carre de $nombre est $y\n\n";
Je l'ai essaye mais ca ne fonctionne pas.
Merci,
Configuration: Linux Konqueror 3.5
5 réponses
-
ModérateurSalut,
Essaie plutôt :y=$(Retour)
;-))
-
Salut jipicy,
J'ai fait ce que tu as propose mais ca ne fonctionne pas. :-(
Merci -
ModérateurSalut,
#! /bin/bash nombre="3"; function Retour() { carre=$(( $nombre * $nombre)) echo $carre } y=$(Retour); echo -e "\n\n\t\tLe carre de $nombre est $y\n\n"; -
ModérateurEn fait pas besoin de la variable carre
#! /bin/bash nombre=3 function Retour() { echo $(( $nombre * $nombre)) } y=$(Retour); echo -e "\n\n\t\tLe carre de $nombre est $y\n\n"; -
Resalut lami20j,
Ta suggestion fonctionne. J'ai deux commentaires.
1) Je trouve ca bizarre que l'on peut utiliser les guillemets pour assigner 3 a nombre. Tu consideres nombre, dans ce cas, comme etant un caractere et non un nombre. J'aime mieux ta deuxieme facon de faire.
2) tu utilises echo pour retourner la valeur de la fonction. A quoi sert dans ce cas la fonction return? Je vais lire a ce sujet.
Merci de ton aide :-)