Les fonctions
Spécificité des fonctions
- Les fonctions Korn Shell (ksh) sont des ensembles de commandes regroupées sous un nom unique.
- Les fonctions peuvent être utilisées pour automatiser des tâches répétitives, améliorant ainsi l'efficacité et la maintenabilité du code.
- KSH, tout comme Bash, prend en charge deux types de fonctions : définies par l'utilisateur et internes (builtins).
Définition des fonctions (rappel)
- Une fonction est définie avec le mot-clé function, suivi de son nom et d'un bloc de code entre accolades {}.
- Syntaxe: function function_name { command_block }
- Les fonctions sont invoquées en utilisant leur nom, comme une commande.
Fonctions varname : Explication et Utilisation
- Les fonctions varname sont spécifiques à KSH et ne se retrouvent pas dans Bash.
- Elles permettent d'intercepter les lectures et les écritures de variables, fonctionnant comme des "getters" et des "setters" en programmation orientée objet.
- Pour déclarer une fonction varname, la syntaxe est :
function .sh.name.variable { case $1 in -*) … esac; }
.
- Pour une variable VAR, les fonctions de lecture
.sh.name.VAR.get
et d'écriture .sh.name.VAR.set
peuvent être définies.
- Les fonctions varname sont particulièrement utiles pour la validation des entrées et la transformation des données.
Exemples pratiques et cas d'utilisation
- Exemple d'une fonction simple :
function hello { echo "Hello, World!"; }
- Exemple d'une fonction varname :
function .sh.name.VAR.get {
.sh.value=${VAR:-default_value}
}
function .sh.name.VAR.set {
VAR=$1
}