Permet de créer des fonctions indépendantes qui se comporteront comme
des scripts.
mycalc() { echo "scale=30;pi=4*a(1);$@"|bc -l; }
Note: A la différence des scripts shell, les fonctions s'exécutent dans la session courrante, cela permet de créer des fonctions qui affecteront les variables. Un exemple:
Si on considère le script cd2tmp.sh ci dessous:
#!/bin/sh
cd /tmp
L'exécution du script en lançant ``sh cd2tmp.sh
'' ou
``./cd2tmp.sh''
n'aura pas l'effet espéré.
Pour que le script s'exécute dans le shell courant il faut
utiliser la commande ``source'' ou son alias ``.'':
source cd2tmp.sh
ou . cd2tmp.sh
.
Le seul moyen d'obtenir un effet d'une commande sur un shell en cours
est de créer une fonction:
cd2tmp() { cd /tmp; }