La commande( and not) en script shell

Résolu
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. Contributeur
    SAlut,

    c'est dans la condition que cela se passe :
    if ! test -s fichier
    sera vrai si fichier n'existes pas
    0
    1. bonjour,
      ça ne marche pas ou bien peut etre j'ai mal compris
      merci de réexpliquer svp
      0
  2. Modérateur
    Connais-tu la signification du test "[ -s fichier ]" ???
    0
    1. cette commande permet de tester si le fiichier est présent dans le repertoire
      merci
      0
  3. Modérateur
    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. Merci ,
      et quelle commande faut il ou que faut il faire pour dire si le fichier n'existe pas.
      0
    2. Contributeur
      @sajodiare,

      je lis "C'est "-e" qui permet de tester si un fichier existe :-)) " ;)
      0
    3. @sov^36oui et c'est quoi la commande pour dire n'existe pas
      0
    4. Contributeur
      @sajodiala 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
    5. @sov^36merci g compris ca marche
      0
  4. Modérateur
    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. merci ,
      g compris ça marche
      0
  5. déjà faut pas parler aux gens qui utilisent windows XP :-D

    ;-)
    0
    1. je crois que c'est la commande if [ -f $1 ] qui sert a tester si le fichier existe !!!!
      0