Aller au contenu

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
}