Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/12/2023, à 16:43

Hizoka

[Résolu] Systeme de log de parametres et de retours commandes

Bonjour,

je galère dans mon système de log.

je veux garder en mémoire les messages envoyés en argument mais aussi ceux renvoyés par des commandes.

function LogFileMessage
{
    local FromPipe

    # FromPipe : Si LogFileMessage appelé via un pipe
    if [[ -z ${1} ]]
    then
        while read FromPipe
        do
            LogFileMessages+=("${FromPipe}")
        done

    # $1 : Si LogFileMessage appelé directement avec un argument
    else
        LogFileMessages+=("${1}")
    fi
}

unset LogFileMessages

LogFileMessage "avant"

echo "echo avant" > >(LogFileMessage)
aaaa  2> >(LogFileMessage)
echo "echo apres"  > >(LogFileMessage)

LogFileMessage "apres"

echo "${LogFileMessages[*]}"

> avant apres

Il ne conserve pas les messages des commandes.

J'ai essayé de les mettre dans des sous-shell et de renvoyer le tout dans la fonction mais idem.
Et j'ai essayé via des pipes.

Comment peut on conserver tous les retours sans passer par un fichier ?
Je dois rater un truc là -_-

Merci

Dernière modification par Hizoka (Le 16/12/2023, à 22:41)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#2 Le 14/12/2023, à 19:10

nany

Re : [Résolu] Systeme de log de parametres et de retours commandes

Bonjour,



~$ echo "echo avant" > >foo.txt
bash: erreur de syntaxe près du symbole inattendu « > »
~$

Si je supprime l’espace entre les chevrons,

~$ echo "echo avant" >>foo.txt
~$

Mon fichier foo.txt est bien incrémenté.

En ligne

#3 Le 14/12/2023, à 19:59

Watael

Re : [Résolu] Systeme de log de parametres et de retours commandes

ça sent le sous-shell, en dehors duquel les variables qui y sont assignées n'existent pas. hmm


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#4 Le 14/12/2023, à 23:47

Hizoka

Re : [Résolu] Systeme de log de parametres et de retours commandes

@nany
>> est différent de > >(...)
Ton exemple est une redirection vers un fichier alors que moi c'est vers une fonction.

@Watael
Ouais c'est tout à fait ça, et j'ai pas trop d'idée là...
Sinon, ça passera par un fichier et puis c'est tout...

Dernière modification par Hizoka (Le 14/12/2023, à 23:48)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#5 Le 15/12/2023, à 09:10

Watael

Re : [Résolu] Systeme de log de parametres et de retours commandes

mais pourquoi ne pas utiliser un pipe ?
dans un script*, tu peux positionner lastpipe avec shopt...

--
* parce que ça ne fonctionne pas en ligne de commande, à cause du contrôle de tâche qui y est activé par défaut.

EDIT: lastpipe fonctionne aussi sur une substitution de processus !

Dernière modification par Watael (Le 15/12/2023, à 09:13)


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#6 Le 16/12/2023, à 22:41

Hizoka

Re : [Résolu] Systeme de log de parametres et de retours commandes

Ça m'a tout l'air nickel ça !

Merci Watael !


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne