Forum Linux.général script bash et redirection

Posté par  .
Étiquettes : aucune
0
14
fév.
2006
Bonjour, j'ai plusieurs redirections à faire dans un fichier log.

genre :
echo "coucou" >> log.txt
commande >& log.txt
echo "coucou" >> log.txt

Donc en fait le le >& ecrase le fichier si il ya une erreur et le >>& ne marche pas.
Donc je suppose que je dois jouer avec le 2>> log.txt 1>&2 à chaque fois ?

Xabi
  • # oui et non

    Posté par  . Évalué à 2.

    Il n'y a pas d'opérateur de redirection ">>&" (ou "&>>"). Bon ceci dit si ça t'embête de faire des redirections ligne par ligne, tu peut toujours faire qqch comme ça :
    % cat plop.sh
    #!/bin/bash
    log_on() { exec 3>&1 4>&2 1>>/tmp/plop.log 2>&1 ; }
    log_off() { exec 1>&3 2>&4 3>&- 4>&- ; }
    echo plup
    log_on
    echo coucou
    ls coucou
    log_off
    echo plip
    
    % ./plop.sh
    plup
    plip
    
    % cat /tmp/plop.log
    coucou
    ls: coucou: Aucun fichier ou répertoire de ce type
    

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.