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

      je lis "C'est "-e" qui permet de tester si un fichier existe :-)) " ;)
    3. @sov^36oui et c'est quoi la commande pour dire n'existe pas
    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.
  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 ...
    1. merci ,
      g compris ça marche
  5. je crois que c'est la commande if [ -f $1 ] qui sert a tester si le fichier existe !!!!