[Script .csh] Problème de condition.

Bonjour,
Voilà j'ai un problème sur quelques lignes toutes betes d'un script.

set CAS=`cat $Monfichier | sed 1\!d`

echo $CAS

if ( $CAS == "CAS1" ) then
echo "CAS1"
endif

Donc comme vous pouvez le constater il n'y a rien de plus simple..mais ça ne marche pas..
La premiere commande recupere la ligne 1 de mon fichier (cette valeur=CAS1) je l'affiche, c'est OK, la valeur est bien récupérée mais rien à faire ça ne passe pas dans le if....
Quelqu'un à une idée du problèmei?
Merci.

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    Ben chez moi ça passe !!!
    Bon j'ai du modifier le filtre avec "sed" (passé pas chez moi ta commande), mais l'autre partie passe très bien :-\
    Essaie de lancer le script en l'appelant par le shell et en spécifiant le débogage :
    csh -xv ton_script
    Sinon chez moi ça donne ça :
    [jp@Mandrake tmpfs]$ cat Monfichier
    CAS1
    CAS2
    CAS3
    
    [jp@Mandrake tmpfs]$ cat script.csh
    #!/bin/csh
    
    set CAS=`sed -n 1p Monfichier`
    echo ${CAS}
    
    if ( ${CAS} == "CAS1" ) then
    echo "$CAS"
    endif
    
    [jp@Mandrake tmpfs]$ csh -xv script.csh
    set CAS=`sed -n 1p Monfichier`
    set CAS=`sed -n 1p Monfichier`
    sed -n 1p Monfichier
    echo ${CAS}
    echo CAS1
    CAS1
    
    if ( ${CAS} == "CAS1" ) then
    if ( CAS1 == CAS1 ) then
    echo "$CAS"
    echo CAS1
    CAS1
    endif
    endif
    [jp@Mandrake tmpfs]$
    ;-))