Ceibxl
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-28%
Le deal à ne pas rater :
Précommande : Smartphone Google Pixel 8a 5G Double Sim 128Go ...
389 € 539 €
Voir le deal

un peu de bash

2 participants

Aller en bas

un peu de bash Empty un peu de bash

Message par Sarko Ven 4 Juin - 12:10

Plop, je fais un script du genre :

./clg monProg monParam monAutreParam

monprog = un prog a compilé en C
monParam et monAutreParam = des parametre a filé si on veut que le programme soit executé apres la compil

Donc ce que je fais :

Code:
 #!/bin/bash
maVar = ""

if [  $# = 0 ]
then
        echo Utilisation : clg source [option]
else
        gcc $1.c -o $1
        if [ $? -eq 0 ]
        then
                echo Voulez-vous executer le programme [Y/N]
                read yOrN
                if [ $yOrN == "Y" ]
                then
                        for arg in $*
                        do

                        maVar= "$arg"
                        done
        #              echo ./$maVar
                        ./$maVar
                fi
        fi
fi


Le probleme vien au niveau de la concaténation des parametre pour l'execution ... j'ai aucune idée de la synthaxe a réaliser pour cte merde ... donc si qqun sait ^^
Sarko
Sarko

Nombre de messages : 2134
Age : 36
Cercle : CEI tapette ²
Année Baptême : 2006
Date d'inscription : 10/07/2008

Revenir en haut Aller en bas

un peu de bash Empty Re: un peu de bash

Message par Sardine Ven 4 Juin - 12:33

Code:
arg=""
for a in $*
do
  arg="$arg $a"
done
Si j'ai bien compris ton soucis Very Happy
Sardine
Sardine

Nombre de messages : 3703
Age : 33
Cercle : CEI
Année Baptême : 2008
Date d'inscription : 04/10/2008

Revenir en haut Aller en bas

un peu de bash Empty Re: un peu de bash

Message par Sarko Ven 4 Juin - 12:38

erreur :

./clg: line 19: ./: is a directory
Sarko
Sarko

Nombre de messages : 2134
Age : 36
Cercle : CEI tapette ²
Année Baptême : 2006
Date d'inscription : 10/07/2008

Revenir en haut Aller en bas

un peu de bash Empty Re: un peu de bash

Message par Sarko Ven 4 Juin - 12:48

On dirait qu'il met un espace entre ./ et mCat enfaite

ca sinon arg contient bien la bonne chaine :


Voulez-vous executer le programme [Y/N]
Y
mCat mHead.c mWc.c


si je met le ./


Y
./ mCat mHead.c mWc.c


Dernière édition par Sarko le Ven 4 Juin - 12:50, édité 1 fois
Sarko
Sarko

Nombre de messages : 2134
Age : 36
Cercle : CEI tapette ²
Année Baptême : 2006
Date d'inscription : 10/07/2008

Revenir en haut Aller en bas

un peu de bash Empty Re: un peu de bash

Message par Sardine Ven 4 Juin - 12:48

Vire l'espace après l'égal là:
maVar= "$arg"
Sardine
Sardine

Nombre de messages : 3703
Age : 33
Cercle : CEI
Année Baptême : 2008
Date d'inscription : 04/10/2008

Revenir en haut Aller en bas

un peu de bash Empty Re: un peu de bash

Message par Sarko Ven 4 Juin - 12:50

... erreur


Dernière édition par Sarko le Ven 4 Juin - 12:52, édité 1 fois
Sarko
Sarko

Nombre de messages : 2134
Age : 36
Cercle : CEI tapette ²
Année Baptême : 2006
Date d'inscription : 10/07/2008

Revenir en haut Aller en bas

un peu de bash Empty Re: un peu de bash

Message par Sarko Ven 4 Juin - 12:51

Code:

#!/bin/bash

if [  $# = 0 ]
then
        echo Utilisation : clg source [option]
else
        gcc $1.c -o $1
        if [ $? -eq 0 ]
        then
                echo Voulez-vous executer le programme [Y/N]
                read yOrN
                if [ $yOrN == "Y" ]
                then
                        arg=""
                        for a in $*
                        do
                        arg="$arg $a"
                        done
                        echo "./$arg"
                fi
        fi
fi

je remet le nouveau code
Sarko
Sarko

Nombre de messages : 2134
Age : 36
Cercle : CEI tapette ²
Année Baptême : 2006
Date d'inscription : 10/07/2008

Revenir en haut Aller en bas

un peu de bash Empty Re: un peu de bash

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum