Envoi paramètre a fonction dans Shell
juliencolin54
Messages postés
238
Statut
Membre
-
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Le titre en dit déjà grandement !
Imaginons une simple fonction qui retourne le triple d'un int donné;
Est-ce qu'il serait alors possible dans le shell d'appeler cette fonction en lui envoyant le paramètre "3" pour qu'elle nous renvoie donc 9 ?
Merci d'avance ! :)
Le titre en dit déjà grandement !
Imaginons une simple fonction qui retourne le triple d'un int donné;
Est-ce qu'il serait alors possible dans le shell d'appeler cette fonction en lui envoyant le paramètre "3" pour qu'elle nous renvoie donc 9 ?
Merci d'avance ! :)
3 réponses
-
hello
oui c'est possible$ triple() { echo $((3*$1)) ; } $ triple 9 27 $ triple 33 99 $ triple 1 3 $ -
non, on ne peut pas appeler une fonction C en shell.
Mais si on compile un main() on peut l'exécuter dans le shell$ cat triple.c #include <stdio.h> #include <stdlib.h> main(int argc, char *argv[]) { printf("%d\n", 3*atoi(argv[1])); } $ $ make triple cc triple.c -o triple $ ./triple 33 99 $ $ x=$(./triple 33) $ echo $x 99 $ -
En fait ma fonction est programmée en C.
Pour un triple cela donnerait :#include <stdio.h> #include <stdlib.h> int triple(int n) { return 3*n }
Donc est ce que je peux appeler cette fonction depuis le shell pour lui envoyer un paramètre sans l'avoir codé avant dans le shell comme tu l'a fais ?
Imaginons que dans le shell je tape seulement :triple(3)