A priori non... Si tu mettais un petit bout de code on pourrait peut-être t'en dire plus...
Peut on appeler une fonction à l'interieur d'elle même ?
Yep, tu peux faire des fonctions récursives en bash...
Il faudra juste penser à déclarer "local" les variables d'environnement que tu veux garder propre à un appel.
Les fonctions, lorsqu'on y arrive, sont-elles utilisables dans toutes les versions de bash ?
Errrr, je suis pas sûr de bien comprendre la question, le support des fonctions dans bash ça doit remonter à... loin. Je suppose que tu veux parler des autres shells (z/k/csh) ?
Si tu veux vraiment assurer une bonne compatibilité générale, le mieux est de spécifier comme « magic number » (première ligne de ton fichier): #!/bin/sh
Ca va probablement invoquer ton shell par défaut (sûrement bash), dans un mode en assurant une rétro-compatibilité maximale (en gros, il va essayer d'émuler un Bourne shell), tout en essayant d'être conforme posix au possible. Évidemment, après tu n'auras plus accès à certains « gadgets » propres à bash.
Si tu veux plus de détails, jette un oeil dans les manpages, sous « INVOCATION ».
[^] # Re: Question en plus
Posté par marvin . En réponse au message Pb de syntaxe BASH. Évalué à 2.
A priori non... Si tu mettais un petit bout de code on pourrait peut-être t'en dire plus...
Peut on appeler une fonction à l'interieur d'elle même ?
Yep, tu peux faire des fonctions récursives en bash...
Il faudra juste penser à déclarer "local" les variables d'environnement que tu veux garder propre à un appel.
Les fonctions, lorsqu'on y arrive, sont-elles utilisables dans toutes les versions de bash ?
Errrr, je suis pas sûr de bien comprendre la question, le support des fonctions dans bash ça doit remonter à... loin. Je suppose que tu veux parler des autres shells (z/k/csh) ?
Si tu veux vraiment assurer une bonne compatibilité générale, le mieux est de spécifier comme « magic number » (première ligne de ton fichier): #!/bin/sh
Ca va probablement invoquer ton shell par défaut (sûrement bash), dans un mode en assurant une rétro-compatibilité maximale (en gros, il va essayer d'émuler un Bourne shell), tout en essayant d'être conforme posix au possible. Évidemment, après tu n'auras plus accès à certains « gadgets » propres à bash.
Si tu veux plus de détails, jette un oeil dans les manpages, sous « INVOCATION ».