Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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.

https://gl.developpez.com/tutoriel/outil/makefile/#LIV


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