#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é.
Hors 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.
Connected \o/
Welcome to sHell. · eval is evil.
Hors 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.
Hors 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