• # exec [redirection ...]

    Posté par . En réponse au message Redirection générale. Évalué à 10.

    Par exemple :

    % cat devnull
    #!/bin/sh
    echo "on me voit"
    # sauvegarde de stdout et redirection vers /dev/null
    exec 3>&1 1>/dev/null
    echo "on ne me voit plus"
    # restauration de stdout et ménage de la sauvegarde
    exec 1>&3 3>&-
    echo "on me voit à nouveau"

    % ./devnull
    on me voit
    on me voit à nouveau


    Évidemment, c'est le même principe si tu veux aussi supprimer la sortie d'erreur, c'est à dire :

    ...
    # sauvegarde de stdout et stderr, et redirection vers /dev/null
    exec 3>&1 4>&2 &>/dev/null
    ...
    # restauration de stdout et stderr, et ménage des sauvegardes
    exec 1>&3 2>&4 3>&- 4>&-
    ...