unset (Unix)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

unset (de l'anglais to unset que l'on pourrait traduire par rendre indéfini) est une commande Unix[1] qui efface de la mémoire les variables passées en paramètre. Cette commande ne retourne aucun résultat (void).

Liste des paramètres[modifier | modifier le code]

  • -v : détruit une variable (comportement par defaut)
  • -f : détruit une fonction

Exemple d'utilisation[modifier | modifier le code]

Note: la première ligne correspond au shebang et les informations précédées d'un croisillon « # » sont des commentaires.

Avec une variable :

#!/bin/sh
ma_variable='Hello world!'     # on défini une variable et on lui affecte une valeur
echo $ma_variable              # on affiche la valeur de la variable
unset ma_variable              # on détruit la variable (identique à unset -v ma_variable)
echo $ma_variable              # rien n'est affiché car la variable n'existe plus

Avec une fonction et le paramètre -f :

#!/bin/sh
ma_fonction()
{
    echo "Bonjour le monde!"
}
ma_fonction                    # on appelle la fonction qui affiche « Bonjour le monde! »
unset -f ma_fonction           # on détruit la fonction
ma_function                    # affiche une erreur similaire à « ma_fonction: not found » car la fonction n'existe plus

Autres langages[modifier | modifier le code]

Article détaillé sur Wikibooks : Translinguisme, programmation.

unset est également disponible dans :

  • PHP (via la fonction du même nom)[2]

Notes et références[modifier | modifier le code]

  1. unset values and attributes of variables and functions – Shell Command Language, The Single UNIX® Specification, Issue 7, publié par The Open Group (internet archive)
  2. http://php.net/manual/fr/function.unset.php