Contenu | Rechercher | Menus

Annonce

Ubuntu-fr.org recrute toujours de nouveaux modérateurs, avec de l'expérience.

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

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

#1 Le 07/10/2012, à 12:01

baba00000000

[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
 
fi

A 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

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

pingouinux

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

Hors ligne

#3 Le 07/10/2012, à 17:56

baba00000000

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."  
fi

J'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

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

pingouinux

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."

Hors ligne

#5 Le 07/10/2012, à 18:34

nesthib

Re : [Resolu] CKSFV reprendre le résultat pour faire un IF

pingouinux a écrit :

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>&1

soit une redirection de stderr sur stdout


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#6 Le 07/10/2012, à 18:40

pingouinux

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. smile

Hors ligne

#7 Le 07/10/2012, à 19:25

baba00000000

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
 fi

Je vais mettre résolu.


http://racketiciel.info

http://racketiciel.info/petition/ Pétition qui ferra peut être changé les installations sur les pc vendu en France.

Hors ligne