#1 Le 22/06/2021, à 14:28
- Nuliel
[Résolu] bash et boucles for
Bonjour,
J'ai un petit problème, j'aimerais passer une commande dans ce style afin de compiler des fichiers commençant par test et finissant par .c:
for file in test*.c; do gcc $file.c -o $file; done
Problème: j'ai des erreurs du style: pas de fichier test_truc.c.c, ce qui doit être dû à l'expansion de l'étoile.
Comment faire pour ne garder que les fichiers du type test_truc.c?
Dernière modification par Nuliel (Le 22/06/2021, à 14:49)
Hors ligne
#2 Le 22/06/2021, à 14:43
- Watael
Re : [Résolu] bash et boucles for
salut,
tu demandes au shell qu'il remonrte les fichiers test*.c, et il le fait.
ensuite, tu demandes à utiliser un fichier test[...].c.c, alors que ce fichier n'existe pas.
for file in test*.c; do gcc "$file" -o "${file/%.c/}"; done
Dernière modification par Watael (Le 22/06/2021, à 14:44)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 22/06/2021, à 14:48
- Nuliel
Re : [Résolu] bash et boucles for
Merci Watael, effectivement, j'étais bloqué sur l'idée que test*.c me complétait en test_truc.c.c, j'avais pas fait attention au .c sur $file.c...
Hors ligne
#4 Le 23/06/2021, à 07:12
- ssdg
Re : [Résolu] bash et boucles for
Je sais que ce.n'est pas ce qui est demandé, mais ca ressemble a un cas d'usage de l'utilitaire make.
s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.
Hors ligne
#5 Le 23/06/2021, à 12:48
- Nuliel
Re : [Résolu] bash et boucles for
En fait la raison pour laquelle je n'ai pas inclus cela dans le Makefile, c'est parce que des binaires pour une autre architecture ont été push avant, en fait je cherchais juste à vérifier que le programme fonctionnait bien sur mon architecture et pour une version particulière du noyau (en gros faire un petit test rapide pour vérifier qu'il y a pas de problèmes). Mais effectivement faire une règle dans le makefile pour compiler les programmes de test serait préférable.
Hors ligne