Pages : 1
#1 Le 08/11/2009, à 15:17
- pmdzlineur
conditions multiples if en bash
Je suis assez nul en bash, mais je dois faire un petit executable pour compiler plusieurs programmes d'une même suite.
Quoique je fasse je ne m'en sort pas.
La commande
if [$i = "parametrages"] || [$i = "recettedialog"] || [$i = "depensedialog"] || [$i = "immobilisations"] ; then
ne colle pas.
Le code complet
#!/bin/bash
if [ $1 == ]; then
LISTE="parametrages recettedialog depensedialog immobilisations comptatriee recettestriees depensestriees etatdesdus grand_livre setup"
else
LISTE=$1
fi
for i in $LISTE
do
if [$i = "parametrages"] || [$i = "recettedialog"] || [$i = "depensedialog"] || [$i = "immobilisations"] ; then
cd comptabilite_interfaces_src/$i
qmake-qt4 -nocache src.pro
make
make clean
cd ..
echo "==========compilation $i OK ======================================"
elif [$i = "setup"]; then
cd setup
qmake-qt4 -nocache src.pro
make
make clean
cd ..
echo "==========compilation $i OK ======================================"
else
cd recettestriees/$i
qmake-qt4 -nocache src.pro
make
make clean
cd ..
echo "==========compilation $i OK ======================================"
fi
done
echo "==============fin de la compilation les binaires sont dans /bin================"
exit
Pourriez vous me sortir de là svp ?
Merci
je ne suis pas informaticien, juste utilisateur un peu averti ;-)
http://www.freemedforms.com/fr/start
http://code.google.com/p/rapidcomptamed/
médecin volant, mais pas en même temps ;-)
Hors ligne
#2 Le 08/11/2009, à 15:42
- pmdzlineur
Re : conditions multiples if en bash
Ah j'ai enfin trouvé, c'est nul le bash
Il fallait mettre des espaces après [
Bon j'ai corrigé d'autres petits trucs ;-)
#!/bin/bash
if [ $1 == ]; then
LISTE="parametrages recettedialog depensedialog immobilisations comptatriee recettestriees depensestriees etatdesdus grand_livre setup"
else
LISTE=$1
fi
for i in $LISTE
do
if [ $i = 'parametrages' ] || [ $i = 'recettedialog' ] || [ $i = 'depensedialog' ] || [ $i = 'immobilisations' ] ; then
cd comptabilite_interfaces_src/$i
qmake-qt4 -nocache src.pro
make
make clean
cd ../..
echo "==========compilation $i OK ======================================"
elif [ $i = 'setup' ]; then
cd setup
qmake-qt4 -nocache src.pro
make
make clean
cd ..
echo "==========compilation $i OK ======================================"
else
cd recettestriees/$i
qmake-qt4 -nocache src.pro
make
make clean
cd ../..
echo "==========compilation $i OK ======================================"
fi
done
echo "==============fin de la compilation les binaires sont dans /bin================"
exit
J'préfère perl pour l'administration ...
Dernière modification par pmdzlineur (Le 08/11/2009, à 15:42)
je ne suis pas informaticien, juste utilisateur un peu averti ;-)
http://www.freemedforms.com/fr/start
http://code.google.com/p/rapidcomptamed/
médecin volant, mais pas en même temps ;-)
Hors ligne
#3 Le 08/11/2009, à 16:21
- HymnToLife
Re : conditions multiples if en bash
Ah j'ai enfin trouvé, c'est nul le bash
Il fallait mettre des espaces après [
[ est une commande comme une autre, donc bien entendu qu'il faut mettre une espace avant les arguments. Tu n'écris pas "makeclean", que je sache.
C'est nul Perl.
- Rodrigue, as-tu du cœur ?
- Non, mais j'ai du pique !
Hors ligne
#4 Le 08/11/2009, à 16:40
- pmdzlineur
Re : conditions multiples if en bash
C++ c'est le top
Bon ok bash est presque pas complètement nul, ça va permettre à l'utilisateur de compiler facilement sous linux.
je ne suis pas informaticien, juste utilisateur un peu averti ;-)
http://www.freemedforms.com/fr/start
http://code.google.com/p/rapidcomptamed/
médecin volant, mais pas en même temps ;-)
Hors ligne