#1 Le 07/10/2012, à 12:01
[Resolu] CKSFV reprendre le résultat pour faire un IF
Bonjour à tous et merci pour l'aide futur.
Je vais essayer d'être le plus clair possible.
J'ai trouve ce code:
#!/bin/bash
# require cksfv http://packages.ubuntu.com/feisty/i386/cksfv/download
# created by Daniel Høyer Iversenerr=$(cksfv -qf *.sfv 2>&1)
if [ ${#err} -ne 0 ];
then
echo $err;
echo "Please fix the file(s) and try again."
else
echo "Everything OK."
unrar x *.rar
fiA cette adresse: http://dahoiv.net/programmering/bash/ba … -r00-files
j'arrive à bien faire mon chsfv, mais n'arrive pas à prendre l'erreur afin de fin ou le résultat positif afin que mon IF marche par la suite.
Deuxième chose je ne comprends pas trop dans le if ${#err}
Merci à tous.
Dernière modification par baba00000000 (Le 07/10/2012, à 19:26)
http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.
Hors ligne
#2 Le 07/10/2012, à 12:41
Re : [Resolu] CKSFV reprendre le résultat pour faire un IF
Bonjour,
Je ne connais pas cksfv, mais voici ce que je peux dire :
# created by Daniel Høyer Iversenerr=$(cksfv -qf *.sfv 2>&1)
La commande est incluse dans le commentaire. C'est sans doute ceci :
# created by Daniel Høyer Iversen
err=$(cksfv -qf *.sfv 2>&1)mais 2>&1 me paraît bizarre.
je ne comprends pas trop dans le if ${#err}
${#err} est le nombre de caractères du contenu de la variable $err
En ligne
#3 Le 07/10/2012, à 17:56
Re : [Resolu] CKSFV reprendre le résultat pour faire un IF
J'ai fais un truc du style:
err=`cksfv -c -f *.sfv | grep -c 'Everything'`
if [ $err -ne 1 ];
then
echo $err;
echo "Please fix the file(s) and try again."
else
echo "Everything OK."
fiJ'ai magouiller, car c'est pas forcément ce qu'il faut faire.
Comme je sais que le résultat est soit Errors Occured ou Everything Ok.
Edit: Merci pingouinux pour ton éclaircissement sur mon problème. J'allais oublier le plus important.
Dernière modification par baba00000000 (Le 07/10/2012, à 17:58)
http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.
Hors ligne
#4 Le 07/10/2012, à 18:08
Re : [Resolu] CKSFV reprendre le résultat pour faire un IF
Ça devrait marcher, mais je pense que ceci aussi :
cksfv -c -f *.sfv || echo "Please fix the file(s) and try again."En ligne
#5 Le 07/10/2012, à 18:34
Re : [Resolu] CKSFV reprendre le résultat pour faire un IF
mais 2>&1 me paraît bizarre.
Le script est sûrement récupéré du web, il s'agit de caractères spéciaux en HTML.
> → >
& → &
il faut donc lire :
commande 2>&1soit une redirection de stderr sur stdout
GUL les mardis à Bordeaux : Giroll
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4
Hors ligne
#6 Le 07/10/2012, à 18:40
Re : [Resolu] CKSFV reprendre le résultat pour faire un IF
@nesthib : Merci pour ces précisions, car je ne parle pas le web couramment. ![]()
En ligne
#7 Le 07/10/2012, à 19:25
Re : [Resolu] CKSFV reprendre le résultat pour faire un IF
Merci pingouinux et nesthib pour votre aide et aussi pour toutes les infos données.
et voilà le bon code:
err=$(cksfv -qf *.sfv 2>&1)
if [ ${#err} -ne 0 ];
then
echo "Please fix the file(s) and try again."
else
echo "Everything OK."
unrar x *.rar
fiJe vais mettre résolu.
http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.
Hors ligne
Pages : 1
- Accueil
- » Forum
- » Terminal, scripts et ligne de commande
- » [Resolu] CKSFV reprendre le résultat pour faire un IF