Rechercher : dans
Par :

Bash - Assigner la valeur d'une fonction

Dernière réponse le 13 jan 2009 à 11:51:08 artagon7, le 25 déc 2007 à 23:07:23 
 Signaler ce message aux modérateurs

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,

Configuration: Linux
Konqueror 3.5

Meilleures réponses pour « Bash Assigner la valeur d'une fonction » dans :
Tableur - Les fonctions mathématiques Voir Les fonctions standards Méthode description ABS() Cette méthode renvoie la valeur absolue d'un nombre, il renvoie donc le nombre s'il est positif, son opposé (positif) s'il est négatif IMPAIR(valeur) Cette méthode renvoie la valeur...
[VBA] RechercheV Polyvalente VoirRECHERCHE POLYVALENTE Pour les accros et les inconditionnels des fonctions d'Excel, avant de crier au scandale, lisez les quelques lignes suivantes. La RechercheV d'origine a beaucoup de limites: La colonne de la donnée doit être avec un offset...
Trier un tableau sans utiliser la fonction sort VoirTrier un tableau sans utiliser la fonction sort D'abord on initialise une variable $max avec la 1ère valeur de tableau. Ensuite on va faire une boucle tant que le tableau contient encore des éléments. C'est avec la fonction splice qui a le rôle...
[VBA] Fonction qui retourne la couleur active d'une MFC VoirCette fonction retourne la valeur du format actif d'une mise en forme conditionnelle. Avec la fonction de la démo, deux valeurs peuvent êtres retournées. Mode = 0 : retourne la valeur de Interior.ColorIndex Mode = 1 : retourne la valeur de...
VBScript - Les fonctions mathématiques VoirLes fonctions mathématiques Fonction Description Abs(number) Retourne la valeur absolue d'un nombre. Atn(number) Retourne l'arc-tangente d'un...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Langage C++ - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...

1

jipicy, le 25 déc 2007 à 23:11:09
  • +1

Salut,

Essaie plutôt :

y=$(Retour)
;-))

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

2

artagon7, le 25 déc 2007 à 23:34:54

Salut jipicy,

J'ai fait ce que tu as propose mais ca ne fonctionne pas. :-(

Merci

Répondre à artagon7

3

lami20j, le 25 déc 2007 à 23:37:55

Salut,

#! /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";

lami20j
Joyeux Noël à tou(te)s

Répondre à lami20j

4

lami20j, le 25 déc 2007 à 23:43:11

En 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";

lami20j
Joyeux Noël à tou(te)s

Répondre à lami20j

5

artagon7, le 26 déc 2007 à 00:08:59

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 :-)

Répondre à artagon7

6

 yesyes, le 13 jan 2009 à 11:51:08

La commande interner return quitte la fonction et retourne la valeur numérique uniquement comme code d'erreur. Dans ton programme principal (main), elle peut être lue dans la variable magique $? .

Par contre, tous les echo de la fonction serons affectes au retour.

Répondre à yesyes