Shell script : besoin d'aide !
Résolu
momsse
-
ayman -
ayman -
Salut à tous,
Je m'enmele un peu les pinceaux en shell-script, je bug sur l'exercice suivant:
Je dois crée une comande ifdef qui lancé avec un arguments comme en desous:
$ ifdef arguments.h
Me crée un fichier arguments.h avec ceci à l'interieur:
#ifndef ARGUMENTS_H
#define ARGUMENTS_H
#endif /* ARGUMENTS_H */
Voila à quoi ressemble l'état actuel de mon code:
#!/bin/sh
echo "#ifndef $1_H" > $1
echo "#define $1_H" >> $1
echo "#endif$1_H" >> $1
Le problème est qu'ici l'arguments n'est pas forcément en majuscule, je n'arrive pas du tout à faire bon usage de la commande tr ...
Merci d'avance à tous ce qui voudrons bien me donner un coup de pouce !
Je m'enmele un peu les pinceaux en shell-script, je bug sur l'exercice suivant:
Je dois crée une comande ifdef qui lancé avec un arguments comme en desous:
$ ifdef arguments.h
Me crée un fichier arguments.h avec ceci à l'interieur:
#ifndef ARGUMENTS_H
#define ARGUMENTS_H
#endif /* ARGUMENTS_H */
Voila à quoi ressemble l'état actuel de mon code:
#!/bin/sh
echo "#ifndef $1_H" > $1
echo "#define $1_H" >> $1
echo "#endif$1_H" >> $1
Le problème est qu'ici l'arguments n'est pas forcément en majuscule, je n'arrive pas du tout à faire bon usage de la commande tr ...
Merci d'avance à tous ce qui voudrons bien me donner un coup de pouce !
A voir également:
- Shell script : besoin d'aide !
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide
3 réponses
Dans cet exercice je dois agrémenter le code précédant de telle manière à:
1) affcher un message si aucun arguments n'a été donné dans la commande
2) ne pas modifier arguments.h si sa première ligne est:
#ifndef ARGUMENTS_H
3)creer 1e fichier normalement autrement
Voila l'état actuel de mon code, j'arrive à intégrer facilement les condition 1 et 3 mais c'est plus compliqué pour la deuxième ...
#!/bin/sh
if [ $# = 0 ]
then
echo "Il manque un argument aprés ifdef"
else
echo "#ifndef $(echo $1|tr '[a-z]' '[A-Z]')_H" > $1
echo "#define $(echo $1|tr '[a-z]' '[A-Z]')_H" >> $1
echo "#endif /* $(echo $1|tr '[a-z]' '[A-Z]')_H */" >> $1
Encore une fois, je remercie tous ceux qui m'aideront !
1) affcher un message si aucun arguments n'a été donné dans la commande
2) ne pas modifier arguments.h si sa première ligne est:
#ifndef ARGUMENTS_H
3)creer 1e fichier normalement autrement
Voila l'état actuel de mon code, j'arrive à intégrer facilement les condition 1 et 3 mais c'est plus compliqué pour la deuxième ...
#!/bin/sh
if [ $# = 0 ]
then
echo "Il manque un argument aprés ifdef"
else
echo "#ifndef $(echo $1|tr '[a-z]' '[A-Z]')_H" > $1
echo "#define $(echo $1|tr '[a-z]' '[A-Z]')_H" >> $1
echo "#endif /* $(echo $1|tr '[a-z]' '[A-Z]')_H */" >> $1
Encore une fois, je remercie tous ceux qui m'aideront !
Salut,
Un truc dans le genre devrait pouvoir le faire :
Mais tu dois pouvoir le faire plus "propre" car je ne connais pas tres bien la syntaxe du sh.
Bon courage
Un truc dans le genre devrait pouvoir le faire :
#!/bin/sh if [ $# = 0 ] then echo "Il manque un argument aprés ifdef" else if [ `head -1 $1` != "" ] then echo "#ifndef $(echo $1|tr '[a-z]' '[A-Z]')_H" > $1 echo "#define $(echo $1|tr '[a-z]' '[A-Z]')_H" >> $1 echo "#endif /* $(echo $1|tr '[a-z]' '[A-Z]')_H */" >> $1 fi fi
Mais tu dois pouvoir le faire plus "propre" car je ne connais pas tres bien la syntaxe du sh.
Bon courage
Salut
Autant pour moi, j'ai zapper une info :
Autant pour moi, j'ai zapper une info :
#!/bin/sh if [ $# = 0 ] then echo "Il manque un argument aprés ifdef" else if [ `head -1 $1` != "#ifndef ARGUMENTS_H" ] then echo "#ifndef $(echo $1|tr '[a-z]' '[A-Z]')_H" > $1 echo "#define $(echo $1|tr '[a-z]' '[A-Z]')_H" >> $1 echo "#endif /* $(echo $1|tr '[a-z]' '[A-Z]')_H */" >> $1 fi fi
#!/bin/sh
echo "#ifndef $(echo $1|tr '[a-z]' '[A-Z]')_H" > $1
echo "#define $(echo $1|tr '[a-z]' '[A-Z]')_H" >> $1
echo "#endif /* $(echo $1|tr '[a-z]' '[A-Z]')_H */" >> $1