#26 Le 15/05/2024, à 15:55
- Watael
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
Du coup, ça donne ça :
c'est exactement ce que préconisais de ne pas faire : entrer dans des "surcomplications".
pour le tableau, j'ai montré au #10 comment s'en passer efficacement avec un Développement des accolades ({imgTyp1,imgTyp2,imgTyp...}).
quant à la fonction, je n'en vois pas l'intérêt; pourquoi ne pas simplement mettre les deux boucles (images et manuels) sous la boucle principale (romFile) ?
for rom in !(*.cfg|fic1|fic2}
do
for img in ./images/*
do
: ...
done
for man in ./manuels/*
do
: ...
done
done
Dernière modification par Watael (Le 15/05/2024, à 15:56)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#27 Le 15/05/2024, à 18:10
- Neelix
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
Tout le problème de cette façon là, est de pouvoir insérer les sections [IMAGES] et [MANUALS].
[IMAGES]
imageManquante1 BEZEL
imageManquante2 FANART
imageManquante3 IMAGE
[MANUALS]
manuelManquant1
ManuelManquant2
Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek
Hors ligne
#28 Le 15/05/2024, à 20:02
- Watael
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
là, tu peux utiliser des tableaux dans chaque "sous boucle", que tu enverras avec un printf,
(ou des fichiers temporaires, que tu concaténeras)
après la boucle principale
for rom in !(*.cfg|fic1|fic2}
do
for img in ./images/*
do
test -f "$img" || images+=( "$img $type")
#...
done
{echo 'images'; printf '%s\n' "${images[@]}"; echo 'manuels'; printf '%s\n' "${manuels[@]}";} >/chemin/missingFiles
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#29 Le 15/05/2024, à 21:27
- Neelix
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
Bien, je pense que cette fois ça y est, mon script est terminé.
Voila le résultat final :
#!/bin/bash
shopt -s extglob
location="$PWD"
logFile="$(basename $location)"
if test -f "$logFile" ; then #On vérifie si le fichier de sortie existe
rm "$logFile" #Si le fichier existe, on le supprime
fi
for romFile in !(*.cfg|gamelist.xml|_info.txt|$logFile) ; do #On extrait les fichiers du répertoire de ROMS
if [ -d "$romFile" ] ; then
continue
else
romName=${romFile%.*}
#On recherche les fichiers images et manuels manquants
for imgFile in ./images/"$romName"-{bezel,fanart,image,marquee,thumb}.* ; do
fileType=${imgFile##*-}
fileType=${fileType%.*}
test -f "$imgFile" || images+=( "$romFile ${fileType^^}")
done
for manFile in ./manuals/"$romName"-* ; do
test -f "$manFile" || manuals+=( "$romName" )
done
fi
done
#On place les fichiers manquant dans le fichier de sortie
{ echo -e "[IMAGES]\n"; printf '%s\n' "${images[@]}"; echo -e "\n\n[MANUALS]\n"; printf '%s\n' "${manuals[@]}" ; } > "$logFile"
if [ ! -d "~/Téléchargements/logs" ] ; then
mkdir -p ~/Téléchargements/logs
fi
mv "$logFile" ~/Téléchargements/logs
Merci beaucoup, Watael.
Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek
Hors ligne
#30 Le 15/05/2024, à 21:32
- Watael
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
# if [ -d "$romFile" ] ; then
# continue
# else
if ! test -d "$romFile"
then
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#31 Le 15/05/2024, à 21:56
- Watael
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
ça, non plus, c'est pas terrible
location="$PWD"
logFile="$(basename $location)"
il vaut mieux travailler avec des chemins absolus afin de pouvoir exécuter le script depuis n'importe où.
parce que quand tu auras quelques scripts, tu voudras les regrouper, sous ~/bin/, ou sous ~/.local/bin.
tu devras alors aussi ajouter ce(s) répertoire(s) à ton PATH pour ne pas avoir à taper le chemin du script, mais seulement son nom, comme n'importe quelle autre commande.
Dernière modification par Watael (Le 15/05/2024, à 21:56)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#32 Le 16/05/2024, à 08:04
- Neelix
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
ça, non plus, c'est pas terrible
location="$PWD" logFile="$(basename $location)"
En fait, cest lignes servent à récupérer le nom du répertoire de roms (nes, snes, amstradcpc...), pour nommer
le fichier de sortie selon le nom de la machine.
Ca ne gène donc pas, puisque c'est un script placé sous ~/bin/ que j'utilise depuis le nrépertoire des roms à tester.
Du reste, je ne sais toujours pas très bien comment récuérer le nom d'un répertore autrement, voir plus efficacement.
Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek
Hors ligne
#33 Le 16/05/2024, à 08:54
- iznobe
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
Bonjour , je sais pas trop si c' est une bonne idée , mais peut etre un truc dans le genre de :
#!/bin/bash
shopt -s extglob
mainDirectory="/chemin/vers/dossier/des/roms";
For romDirectory in ($("$mainDirectory"/*)); do
logFile=$("$romDirectory"/"$PWD");
...
Dernière modification par iznobe (Le 16/05/2024, à 09:04)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#34 Le 16/05/2024, à 10:29
- Watael
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
cest lignes servent à récupérer le nom du répertoire de roms
il n'y a rien à récupérer : le chemin des roms doit être inscrit en dur dans le script.
on sait ce qu'on traite, et quel est son emplacement; ce ne sont pas des choses qui changent, n'est-ce pas ?.
je sais pas trop si c' est une bonne idée
ça va pas faire du propre cette Substitution de commandes sur un chemin tout nu.
romDir=/chemin/dossier/roms
logFile=$romDir/fichier.log # si le fichier log doit être sous le répertoire des roms
dans un script, on utilise uniquement des chemins absolus; ça évite les problèmes et les complications.
Dernière modification par Watael (Le 16/05/2024, à 10:29)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#35 Le 16/05/2024, à 11:52
- Neelix
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
on sait ce qu'on traite, et quel est son emplacement; ce ne sont pas des choses qui changent, n'est-ce pas ?.
Si. Chaque machine a son répertoire de roms.
La structure est identique pour chaque machine, mais le nom du répertoire change :
ROMS
|----> nes
| |-----> images
| |-----> manuals
|----> snes
| |-----> images
| |-----> manuals
|----> cpc
|-----> images
|-----> manuals
Je lance le script dans le répertoire de chaque machine dont je cherche les fichiers manquants, puis je le déplace le fichier de sortie
vers un répertoire qui contiendra les fichiers de sortie de toutes les machines, il me faut donc nommer ces différents fichiers. (en leur donnant
le nom de la machine en question)
Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek
Hors ligne
#36 Le 16/05/2024, à 13:33
- Watael
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
Si. Chaque machine a son répertoire de roms.
alors, passe-le (avec son chemin, si celui-ci change aussi) en paramètre du script, ce sera plus propre que de faire un cd - je suis une grosse feignasse, et j'évite de me déplacer pour rien.
le fichier log, lui, doit donc aller sous /tmp (on peut utiliser $HOSTNAME pour construire son nom, et on peut l'horodater si besoin), et à la fin du script, quand tu as fini de le remplir, tu le déplaces où tu veux.
ou, d'ailleurs, l'écrire directement à son emplacement définitif ! pourquoi le mettre à un endroit, pour le déplacer plus tard ? autant le mettre tout de suite où il doit être conservé !
PS: nes, snes et cpc, c'est le nom des roms ? parce qu'alors, ça pourrait changer la forme de la première boucle...
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#37 Le 16/05/2024, à 14:02
- iznobe
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
PS: nes, snes et cpc, c'est le nom des roms ? parce qu'alors, ça pourrait changer la forme de la première boucle...
je ne pense pas .
ca serait plutot :
MainDirectory
|----> nes
| |----> ROMS
| | |-----> images
| | |-----> manuals
les .rom ce sont des fichiers de jeux .
nes , snes , etc des noms de console .
et les roms sont differentes en fonction des consoles de jeux pour lesquelles elles sont destinées .
Dernière modification par iznobe (Le 16/05/2024, à 14:05)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#38 Le 16/05/2024, à 14:49
- Neelix
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
PS: nes, snes et cpc, c'est le nom des roms ? parce qu'alors, ça pourrait changer la forme de la première boucle...
Ce sont les noms des machines. J'ai bien donné la bonne structure.
Le répertoire roms contient un répertoire par machine (nes, snes, cpc) et chaque sous-répertoire "nomDeLaMachine" contient les roms,
un répertoire images et un répertoire manuals.
le fichier log, lui, doit donc aller sous /tmp (on peut utiliser $HOSTNAME pour construire son nom, et on peut l'horodater si besoin)
Dans ce cas, j'aime mieux la solution qui consiste à passer le nom en paramètre. C'est plus clair si mes logs sont identifiés par le nom de la machine.
Je détaille un peu plus la structure :
ROMS
|----> nes
| |-----> rom1.nes
| |-----> rom2.nes
| |-----> images
| | |-----> rom1-bezel.jpg
| | |-----> rom1-fanart.jpg
| | |-----> rom2-bezel.png
| |-----> manuals
| | |-----> rom1-manual.pdf
| | |-----> rom2-manual.pdf
|
|----> nes
| |-----> rom1.smc
| |-----> rom2.smc
| |-----> images
| | |-----> rom1-bezel.jpg
| | |-----> rom1-fanart.jpg
| | |-----> rom2-bezel.png
| |-----> manuals
| | |-----> rom1-manual.pdf
| | |-----> rom2-manual.pdf
|----> cpc
| |-----> rom1.dsk
| |-----> rom2.dsk
| |-----> images
| | |-----> rom1-bezel.jpg
| | |-----> rom1-fanart.jpg
| | |-----> rom2-bezel.png
| |-----> manuals
| | |-----> rom1-manual.pdf
| | |-----> rom2-manual.pdf
Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek
Hors ligne
#39 Le 16/05/2024, à 16:29
- Watael
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
oula! quand tu dis "machine", moi je pense serveur sur lequel exécuter le script sur un réseau, alors que toi tu penses console de jeu dans la hiérarchie du système de fichiers.
mais tu ne vas pas parcourir tout le répertoire ROMS pour y détecter, par console de jeu ("machine"), les fichiers manquants ?
roms='/chemin/ROMS'
test -d "$roms/rapports" || mkdir "$roms/rapports"
for machine in "$roms"/*/ #comme ça on a le nom de la machine
do
logFile="$roms/rapports/$machine-missingFiles.log"
for romFile in !(*.cfg|gamelist.xml|_info.txt)
...
je vois que tu as mis des extensions au nom des roms, elles sont propres à chaque console ? et c'est toujours la même ?
les roms des machines cpc, c'est toujours dsk ?
parce qu'alors tu pourrais soit entretenir un fichier qui ferait la correspondance (plusieurs machines peuvent avoir la même extension pour leurs roms)
nes;nes
snes;smc
cpc;dsk
...
pour construire un tableau associatif dans le script pour éviter le Développement des accolades
soit écrire le tableau associatif en dur dans le script.
in fine, on aurait tacitement ou explicitement
declare -A extMachines=(
[nes]='nes'
[snes]='smc'
[cpc]='dsk'
...)
puis
for machine in "$roms"/*/
do
logFile="$roms/rapports/$machine-missingFiles.log"
ext="${extMachines[$machine]}
for romFile in *."$ext"
...
Dernière modification par Watael (Le 16/05/2024, à 16:31)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#40 Le 16/05/2024, à 16:35
- iznobe
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
je vois que tu as mis des extensions au nom des roms, elles sont propres à chaque console ?
oui , je pense .
et c'est toujours la même ?
non 3 ou 4 pas plus .
Dernière modification par iznobe (Le 16/05/2024, à 16:36)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#41 Le 16/05/2024, à 17:07
- Neelix
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
oula! quand tu dis "machine", moi je pense serveur sur lequel exécuter le script sur un réseau, alors que toi tu penses console de jeu dans la hiérarchie du système de fichiers.
Oui, il s'agit de console ou anciens micros. Mes excuses, je ne pensais pas que ça pouvait prêter à confusion.
mais tu ne vas pas parcourir tout le répertoire ROMS pour y détecter, par console de jeu ("machine"), les fichiers manquants ?
Je te rassure, si il y a aux alentours de 200 répertoires (il s'agit de Batocera-Linux), je n'en utilise que 8 ou 9.
Du coup, ça ne me prends pas beaucoup plus de temps de les parcourir l'un après l'autre.
je vois que tu as mis des extensions au nom des roms, elles sont propres à chaque console ? et c'est toujours la même ?
les roms des machines cpc, c'est toujours dsk ?
Pour certaines machines il n'y a qu'une seule extension, pour d'autre, il peut y en avoir 2 ou 3.
De plus, certaines extensions comme .dsk, peuvent apparaître pour plusieurs machines.
Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek
Hors ligne
#42 Le 16/05/2024, à 18:44
- Watael
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
Je te rassure, si il y a aux alentours de 200 répertoires (il s'agit de Batocera-Linux), je n'en utilise que 8 ou 9.
ça ne m'inquiète pas, d'autant qu'il ne s'agit que de récupérer le nom de la "machine" , mais ça voudrait dire boucler 192 ou 191 fois pour rien.
mais si tu connais les noms, alors tu peux en faire un tableau indexé (ce sera plus lisible qu'un Développement d'accolades) et "boucler dessus", au lieu de (comme je lai montré) boucler sur la liste des répertoires sous ROMS/, et tu auras le nom de la rom en cours d'analyse.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#43 Le 16/05/2024, à 20:28
- Neelix
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
Il s'agirait donc de récupérer tous les fichiers manquants des différents répertoire en une seule fois ?
Du coup, oui, n'ayant pas plus de répertoires que ça à parcourir, (peut-être 2 ou 3 pourront s'ajouter par la suite, il suffirait de créer
un tableau indexé.
Je vais essayer comme ça.
Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek
Hors ligne
#44 Le 17/05/2024, à 11:32
- Neelix
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
roms='/chemin/ROMS'
test -d "$roms/rapports" || mkdir "$roms/rapports"
for machine in "$roms"/*/ #comme ça on a le nom de la machine
do
logFile="$roms/rapports/$machine-missingFiles.log"
for romFile in !(*.cfg|gamelist.xml|_info.txt)
...
De cette manière, je n'arrive pas à récupérer le nom de la machine seul. Je récupère le chemin complet.
Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek
Hors ligne
#45 Le 17/05/2024, à 13:48
- Watael
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
oui, le nom de la machine est au bout du chemin; il faut un petit Remplacement de paramètres - il y en a déjà dans ton script pour traiter fileType.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#46 Le 17/05/2024, à 14:34
- Neelix
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
Bien, de cette façon, je parviens à extraire le nom de la machine et à le donner à mon fichier de sortie.
Mais, le fichier reste vide dans tous les cas et je ne parviens à sortir q'un seul log, alors qu'il devrait y
en avoir un pour chaque machine.
#!/bin/bash
shopt -s extglob
declare -a machineName=( "amstradcpc" "atarist" "gb" "nes" )
machineDir="${machineName##"/home/neelix/roms"}"
logDir="/home/neelix/rom_logs"
if ! test -d "$logDir" ; then
mkdir "$logDir"
fi
if test -f "$logDir/$logFile" ; then #On vérifie si le fichier de sortie existe
rm "$logDir/$logFile" #Si le fichier existe, on le supprime
fi
for machine in "$machineDir" ; do
logFile="$machine.log"
#On extrait les fichiers du répertoire de ROMS
for romFile in !(*.cfg|gamelist.xml|_info.txt|$logFile) ; do
if ! test -d "$romFile" ; then
romName=${romFile%.*}
#On recherche les fichiers images et manuels manquants
for imgFile in ./images/"$romName"-{bezel,fanart,image,marquee,thumb}.* ; do
fileType=${imgFile##*-}
fileType=${fileType%.*}
test -f "$imgFile" || images+=( "$romFile ${fileType^^}" )
done
for manFile in ./manuals/"$romName"-* ; do
test -f "$manFile" || manuals+=( "$romName" )
done
fi
done
done
#On place les fichiers manquant dans le fichier de sortie
{ echo -e "[IMAGES]\n"; printf '%s\n' "${images[@]}"; echo -e "\n\n[MANUALS]\n"; printf '%s\n' "${manuals[@]}" ; } > "$logDir"/"${logFile[@]}"
Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek
Hors ligne
#47 Le 17/05/2024, à 14:52
- Watael
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
il faut mettre l'écriture du log dans la "boucle machine" !
et, le Remplacement de paramètres aussi.
et ce n'est pas ce que j'avais en tête.
soit tu exploites les chemins vers les fichiers rom
soit tu utilises un tableau
si tu utilises un tableau :
#!/bin/bash
shopt -s extglob
romDir=~/roms
logDir=~/rom_logs
machineName=( 'amstradcpc' 'atarist' 'gb' 'nes' )
test -d "$logDir" || mkdir "$logDir"
for machine in "${machineName[@]}"
do
logFile="$machine.log"
test -f "$logDir/$logFile" && rm "$logDir/$logFile"
for romFile in "$romDir/$machine"/!(*.cfg|gamelist.xml|_info.txt)
do
if ! test -d "$romFile"
then
romName=${romFile##*/}
romName=${romName%.*}
for imgFile in ./images/"$romName"-{bezel,fanart,image,marquee,thumb}.*
do
fileType=${imgFile##*-}
fileType=${fileType%.*}
test -f "$imgFile" || images+=( "$romFile ${fileType^^}" )
done
for manFile in ./manuals/"$romName"-*
do
test -f "$manFile" || manuals+=( "$romName" )
done
fi
done
{ echo -e "[IMAGES]\n"; printf '%s\n' "${images[@]}"; echo -e "\n\n[MANUALS]\n"; printf '%s\n' "${manuals[@]}" ; } > "$logDir"/"${logFile[@]}"
done
/!\ je n'ai pas testé...
Dernière modification par Watael (Le 17/05/2024, à 15:01)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#48 Le 17/05/2024, à 16:32
- Neelix
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
Il reste un problème, avec ton script, tous les fichiers, manquants ou non figurent dans les fichiers log.
Voilà une petit moment que je cherche, je ne parviens pas à comprendre pourquoi, puisque le nom des roms ne change pas,
du côté des images et des manuels, on a aucun changement.
Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek
Hors ligne
#49 Le 17/05/2024, à 16:37
- Neelix
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
J'étais un peu trop rapide à redemander ton aide. En fait, pour le coup, les répertoires d'images et de manuels
ne correspondaient plus.
J'ai donc déclaré ces 2 variables, du coup ça marche.
imgDir="/home/neelix/roms/$machineName/images"
manDir="/home/neelix/roms/$machineName/manuals"
A la base j'avais mis $machine au lieu de $machineName, ce qui ne pouvait pas fonctionner.
Xubuntu 22.04 Jammy x64
Intel Core i5-13400 (2.5 GHz / 4.6 GHz) - RAM: 16Go
Gigabyte GeForce RTX 3060 WINDFORCE OC 12G - 12Go
Audio: High Definition Audio Realtek
Hors ligne
#50 Le 17/05/2024, à 20:16
- Watael
Re : [Résolu] Exclure tous les fichiers portant une extension particulère
ça doit être machine, parce que machineName** est un tableau*,
et, à chaque tour de la boucle le nom de machine suivant (dans le tableau) est utilisé.
en effet, je n'avais pas corrigé les deux boucles internes (images et manuels) :
for imgFile in "$romDir/$machine/images/$romName"-{bezel,fanart,image,marquee,thumb}.*
et pareil pour les manuels.
--
* si tu n'utilises que $machineName, c'est comme si tu utilisais ${machineName[0]}, c'est-à-dire le premier élément du tableau.
** le tableau devrait d'ailleurs s'appeler machineNames, ou juste machines.
for machine_ in "${machine_s_[@]}" #
Dernière modification par Watael (Le 17/05/2024, à 20:37)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne