Débutante en SCRIPT SELL Les opérateurs boolé

Résolu
7amdolah Messages postés 19 Statut Membre -  
7amdolah Messages postés 19 Statut Membre -
Bonjour,

bonjour.Je suis une informaticienne débutante en SCRIPT SELL le code suivant:
#!/bin/ksh 
echo ' '>test.ls 
event_start_date_4=0 
cat ict_detail_20120604_20120605.dat | while read ligne 
do 
 event_start_date_='echo $ligne|awk -F";" '{print $7}'' 

  
 if ! [ -d $event_start_date_ ] 
  then 
   echo $event_start_date_ 
   event_start_date_1='echo $event_start_date_|awk -F"/" '{print $1}'' 
   event_start_date_2='echo $event_start_date_|awk -F"/" '{print $2}'' 
   event_start_date_3='echo $event_start_date_|awk -F"/" '{print $3}'' 
   event_start_date_4='echo $event_start_date_3$event_start_date_2$event_start_date_1' 
   echo $event_start_date_4 
  if  $event_start_date_4 >= 20001010  &&  $event_start_date_4 <= 20201010  
  then 
  echo $event_start_date_4>>test.ls 
  fi 
 fi 
done 

me retourne l'erreur suivante:
test2_2.shh[18]: 20120604:  not found

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    remplacer
    if  $event_start_date_4 >= 20001010  &&  $event_start_date_4 <= 20201010  
    per
    if  [ $event_start_date_4 -ge 20001010  &&  $event_start_date_4 -le 20201010 ]  
    1
    1. Utilisateur anonyme
       
      salut,

      dubcek, avec l'opérateur ET (&&), ou OU (||), il faut faire plusieurs tests
      if  [ $event_start_date_4 -ge 20001010  ] &&  [ $event_start_date_4 -le 20201010 ]  
      sinon bash se plaint : «bash: [: « ] » manquant»
      ou utiliser -a, mais il faut faire attention à ce que contiennent les expressions.
      0
  2. 7amdolah Messages postés 19 Statut Membre
     
    Merci de votre réponse.
    ca marche aussi avec:

    if (( $event_start_date_4 >= 20001010  &&  $event_start_date_4 <= 20201010 ))
    0