################################################################################################################################### # Ecrit par Lilian BESSON - ENS de Cachan & CMLA & LSV −− © 2012 Naereen Corp. ################################################################################################################################### ################################################################################################################################### # Un script pour automatiser et permettre de réduire 4 lignes en ... une ! ################################################################################################################################### #Signature et explication echo "*********************************************************************************************************" echo "* Ecrit par Lilian BESSON - ENS de Cachan & CMLA & LSV −− © 2012 Naereen Corp. *" echo "*********************************************************************************************************" #Date date "+ Aujourd'hui, nous sommes le %d-%m." echo " Ce script $0 automatise le dessin EN CONSOLE d'un graphique d'une fonction de R → R" echo "" #Vérifie que l'utilisateur a rentré le bon nombre d'argument : if [ ! $# -eq 5 ] && [ ! $# -eq 6 ] then echo "Vous avez rentré $# arguments." echo "Ce script $0 attends 5, ou 6 arguments pour faire ce pour quoi il est prévu," read -p "Voulez-vous avoir une explication de son utilisation ? (o/n)" -t 10 reponse if [ "$reponse" = "o" ] then echo "" echo "Mode d'emplois :" echo "" echo "Ce script attends 5, ou 6 arguments :" echo " -<\"f(x)\"> : une expression mathématique entre guillement, utilisant des fonctions simples" echo " (cos, sin, tan, exp, log10, acos, asin, atan, gamma, +, *, -, /, **)" echo " et dépendant de la SEULE variable x." echo " - : bord gauche de la fenêtre voulue." echo " - : bord droit de la fenêtre voulue." echo " - : bord bas de la fenêtre voulue." echo " - : bord haut de la fenêtre voulue." echo "" echo " -[controle] : si présent et non nul, fait du étape par étape pendant le dessin." echo "Il faut bien sur que mX < MX, et que mY < MY." echo "" echo "Bonne journée ! Ecrit par Lilian BESSON − © 2012 Naereen Corp." exit 0 else echo "Votre manque de curiosité vous perdra." echo "" #Et oui Je préfère les gens curieux... ! exit 0 fi fi dossiercourant=`pwd` cd ~ # On compile le fichier meta_plot.c gcc -O3 -o meta_plot meta_plot.c # On génère un nom de fichier dépendant de la date : instantcreation=`date "+%d_%m__%H_%M_%S"` fichiertemporaire=".meta_plot__temporaire__$instantcreation" # Le fichier est un fichier caché ! # On applique meta_plot avec le nom du fichier temporaire et le premier argument donné par l'utilisateur : ./meta_plot $1 $fichiertemporaire # On utilise le fichier qui viend d'être créé : fichiertemporaire.c et on le compile en incluant la libraire mathématique gcc -O3 -o $fichiertemporaire $fichiertemporaire.c -lm # On applique ensuite cet exécutable aux 4 autres paramètres donnés par l'utilisateur : if [ $# -eq 5 ] then ./$fichiertemporaire $2 $3 $4 $5 else echo "Vous avez demandé plus de détails concernant le tracé..." ./$fichiertemporaire $2 $3 $4 $5 $6 fi # Pour laisser le temps à l'utilisateur d'admirer la qualité du graphique, on attends 4 secondes : sleep 1 # On efface les fichiers temporaires, si le 6° paramètres est présent et non nul if [ $# -eq 6 ] && [ $6 != 0 ] then rm "$fichiertemporaire" rm "$fichiertemporaire.c" fi # Retourne au dossier ou on était : cd $dossiercourant # On a finit ! ################################################################################################################################### # Ecrit par Lilian BESSON - ENS de Cachan & CMLA & LSV −− © 2012 Naereen Corp. ###################################################################################################################################