La commande( and not) en script shell

Résolu
sajodia -  
lunixseeker Messages postés 3 Statut Membre -
Bonjour,
j'aimmerais savoir comment s'ecrit la commande (and not) pour marquer l'inexistant,la négation
if [ $jour == 20 ] and [ $mois == 01 or 03 or 05 or 07 or 08 or 10 or 12 ] and not [- s /sextantapp/m1/fic/GRPARAM ] and not [ -s /sextantapp/m1/fic/GRTABLE ] and not [ -s /sextantapp/m1/fic/GRAGENT ] and not[ -s /sextantap
p/m1/fic/GRCOUTMAT ]
merci.
Configuration: Windows XP
Internet Explorer 7.0

6 réponses

  1. sov^36 Messages postés 3624 Date d'inscription   Statut Contributeur Dernière intervention   717
     
    SAlut,

    c'est dans la condition que cela se passe :
    if ! test -s fichier
    sera vrai si fichier n'existes pas
    0
    1. sajodia
       
      bonjour,
      ça ne marche pas ou bien peut etre j'ai mal compris
      merci de réexpliquer svp
      0
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Connais-tu la signification du test "[ -s fichier ]" ???
    0
    1. sajodia
       
      cette commande permet de tester si le fiichier est présent dans le repertoire
      merci
      0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Non ! Cette commande renvoie "vraie" si le fichier a une taille différente de "0" (zéro) !!!

    C'est "-e" qui permet de tester si un fichier existe :-))
    0
    1. sajodia
       
      Merci ,
      et quelle commande faut il ou que faut il faire pour dire si le fichier n'existe pas.
      0
      1. sov^36 Messages postés 3624 Date d'inscription   Statut Contributeur Dernière intervention   717 > sajodia
         
        re,

        je lis "C'est "-e" qui permet de tester si un fichier existe :-)) " ;)
        0
      2. sajodia > sov^36 Messages postés 3624 Date d'inscription   Statut Contributeur Dernière intervention  
         
        oui et c'est quoi la commande pour dire n'existe pas
        0
      3. sov^36 Messages postés 3624 Date d'inscription   Statut Contributeur Dernière intervention   717 > sajodia
         
        la commande if va renvoyer vrai ou faux, vrai si la condition est remplie, faux si elle n'est pas rempli :

        if test -e fichier

        test -e fichier est la condition, si fichier existe alors if renverra vrai , sinon faux.

        on peux dire à if de tester si la condition n'est pas rempli grâce au !

        ainsi if ! test -e fichier renverra vrai si fichier n'existe pas.
        Tu as aussi l'exemple de jipicy en dessous pour voir comment cela marche.
        0
      4. sajodia > sov^36 Messages postés 3624 Date d'inscription   Statut Contributeur Dernière intervention  
         
        merci g compris ca marche
        0
  4. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Pour reprendre l'exemple donné dans un de tes précédents messages :
    if [ [ $jour = 31 ]] && [[ $mois = 0[1358] ]] && [ ! -e /sextantapp/m1/fic/GRPARAM -a ! -e /sextantapp/m1/fic/GRTABLE ! -e /sextantapp/m1/fic/GRAGENT -a ! -e /sextantapp/m1/fic/GRCOUTMAT ]; then ...
    0
    1. sajodia
       
      merci ,
      g compris ça marche
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kbr Messages postés 14 Statut Membre 6
     
    déjà faut pas parler aux gens qui utilisent windows XP :-D

    ;-)
    0
  7. lunixseeker Messages postés 3 Statut Membre
     
    je crois que c'est la commande if [ -f $1 ] qui sert a tester si le fichier existe !!!!
    0