Création commande shell compilation

Fermé
soleil - 29 janv. 2008 à 10:25
 soleil - 29 janv. 2008 à 11:32
Bonjour,

Je suis un peu novice sous linux mais désireux d'apprendre :p
Voici mon problème, dans le cadre de mes études, je dois programmer en c++.
Etant en phase d'apprentissage, il est clair que je compile/lance le programme/et fait le ménage TRES souvent.

Il existe une commande dans ma fac qui permet justement de compiler (g++)/de lancer l'appli dans le shell/ et d'effacer les ~ et a.out en une seule commande.

J'aimerai faire de même car je trouve celà tres pratique

Merci d'avance
A voir également:

10 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
29 janv. 2008 à 10:53
Salut,

Il te suffit de mettre dans un script l'enchainement des commandes que tu tapes les unes à la suite des autres, soit chacune sur un ligne différente soit sur un ligne chacune séparée de la suivante par "&&" (sans les guillemets), et de passer en paramètre le nom du fichier (bien sûr, il te faudra inclure ce paramètre dans tes lignes de commandes).

;-))
0
un script sous linux?
je croyais qu'il fallait creer un alias ou directement une commande dans bin...

Ok donc en fait je fais comme une fonction
mais...comment creer ce script, ou le mettre et serait-ce possible d'avoir un exemple bateau

merci encor :)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
29 janv. 2008 à 11:08
Il existe une commande dans ma fac qui permet justement de compiler (g++)/de lancer l'appli dans le shell/ et d'effacer les ~ et a.out en une seule commande.
Copie/colle les différentes commandes que tu tapes normalement et on verra ce qu'on peut faire.
0
oui c'est ce que je pensais faire mais je savais pas trop ou se situais les commandes...

en fait c'est dans ./bin c'est sa?

ce que tu expliques doit être une apllication de la démo d'ici :
http://www.lea-linux.org/cached/index/Dev-shell_script.html

dsl pour le lien externe
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
29 janv. 2008 à 11:20
Je recommence...

Donnes-moi les commandes que tu saisies pour :
- compiler
- lancer l'appli dans le shell
- effacer les ~ et a.out
0
alors
compiler : g++ -lm "fichie.cpp"
lancer l'appli ./a.out
effacer rm a.out

pour le moment j'ai fait (je sais pas si c'est la bonne méthode)
#su
cd /bin
nano ccc (le nom de ma futur commande)

et dedans :
g++ -lm $1
./a.out (le nom ne doit pas dépendre du parametre je crois)
et rm a.out

merki
0
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
29 janv. 2008 à 11:29
Bonjour,

Tout ce que tu peux faire sur la ligne de commandes, tu peux le mettre dans un fichier texte, puis rendre le fichier texte éxécutable et hop, en tapant le nom de ton fichier, les commandes qu'il contient sont exécutées...

Exemple :
fichier "compileretnettoyer"
#!/bin/bash

# Transformation de l'extension (ex. : .cpp) en .bin
base=`echo $1 | sed -e 's/\.[^.]*$/.bin/'`

# compilation
echo c++ -o $base $1
c++ -o $base $1

# nettoyage
rm -f *~ *tmp



Donc ce fichier s'appelle "compileretnettoyer". Pour le rendre exécutable :
chmod +x compileretnettoyer


Pour l'exécuter :
./compileretnettoyer toto.cpp


Va compiler toto.cpp puis nettoyer le répertoire des fichier ~ et tmp

Raph
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
29 janv. 2008 à 11:29
Ben voilà ;-))
0
je crois que sa marche mais je suis obliger de taper :
sh ccc "nom du fichier.cpp" et celà ne marche que dans le root

est-il possible de le rendre executable dans le shell et en marquant seulement ccc "paramètre"? ou je dois pas faire comme celà?
0
Niquel :D

bon j'etais pas tres loin :)

Merci beaucoup
0