• [^] # Re: Take a cup of tee

    Posté par . En réponse au message Redirection de scripts. Évalué à 1.

    Ci dessous un exemple en ksh sous aix (mais qui doit pouvoir s'adapter sous linux)
    Il faut juste verifier que la commande who -m te retourne ceci (le deuxieme champ est interessant):

    totof2000 pts/4 02 ao{ 15:24

    #!/bin/ksh

    # Identification du pseudo-terminal de sortie
    SORTIE=/dev/$( who -m |awk '{ print 2ドル}')
    echo $SORTIE
    # Commande:
    (ls - toto | tee titi.log>$SORTIE)2>&1 | tee error.log


    Tu mets tout ca dans un script test1.ksh (ou test1.sh, peu importe).

    A l'exécution:

    $ksh test1.ksh
    /dev/pts/4
    ls : 0653-341 Le fichier - n'existe pas.
    ls : 0653-341 Le fichier toto n'existe pas.
    $more titi.log
    $more error.log
    ls : 0653-341 Le fichier - n'existe pas.
    ls : 0653-341 Le fichier toto n'existe pas.
    $
    $touch toto
    $ksh test1.ksh
    /dev/pts/4
    toto
    ls : 0653-341 Le fichier - n'existe pas.
    $more titi.log
    toto
    $more error.log
    ls : 0653-341 Le fichier - n'existe pas.

    Normalement, en cron, le pseudo-terminal devrait être /dev/null (a verifier).