• # Essai

    Posté par . En réponse au message Faire un script reproduisant une commande. Évalué à 1.

    J'ai refait le script ( j'ai modifié le makefile car je ne sais pas distinguer le cas du toto.o et totooo) :
    http://img4.hostingpics.net/pics/798206popo.jpg

    #!/bin/sh
    ligne=`sed -n "/1ドル:/=" makefile`
    texte=`sed -n "$ligne p" makefile`
    while [ ! -z "$texte" ]
    do
     ligne=`expr $ligne + 1`
     texte=`sed -n "$ligne p" makefile`
     echo "$texte"
    done >> CMD
    COMMANDE=`sed 's/ /:/g' CMD`
    DEPENDANCES=`grep "1ドル:" makefile | cut -d ':' -f2`
    if [ ! -e 1ドル ] || [ 1ドル -ot $DEPENDANCES ]
    then
     if [ -z $DEPENDANCES ]
     then
     for k in $COMMANDE
     do
     var=`echo $k | sed 's/:/ /g'`
     sh -c "$var"
     done
     rm CMD
     exit 0
     else
     if [ ! -e $DEPENDANCES ]
     then
     TEST=`grep "$DEPENDANCES:" makefile`
     if [ -z $TEST ]
     then
     touch impossible
     0ドル impossible
     else
     0ドル $DEPENDANCES
     fi
     else
     for k in $COMMANDE
     do
     var=`echo $k | sed 's/:/ /g'`
     sh -c "$var"
     done
     0ドル toto
     fi
     fi
    else
     rm CMD
     exit 0
    fi

    Le script fonctionne pour le cas ou il prend comme argument clean.
    Si tota existe, toto est bien crée
    Sinon je tombe toujours dans le cas impossible

    Par contre si toto.c existe, le script ne construit pas tota puis toto mais tombe dans le cas impossible aussi ..