Maison > développement back-end > Golang > Pourquoi mes expressions Makefile ne sont-elles pas évaluées correctement ?

Pourquoi mes expressions Makefile ne sont-elles pas évaluées correctement ?

Mary-Kate Olsen
Libérer: 2024-12-20 19:32:11
original
861 Les gens l'ont consulté

Why Aren't My Makefile Expressions Evaluating Correctly?

Évaluation des expressions dans les commandes Makefile

Les Makefiles sont des outils puissants pour automatiser les processus de construction. Cependant, lors de l'écriture de recettes Makefile, il est important de comprendre comment les expressions sont évaluées.

Dans une section de recettes Makefile, le signe dollar ($) est utilisé pour interpoler les variables. Pour interpoler une expression qui implique une commande, vous devez échapper au $ à l'aide d'un deuxième $:

Problème : Utiliser une expression dans une commande Makefile, mais l'expression n'est pas en cours évalué.

Commande :

test:
    go test $(go list ./... | grep -v /vendor/)
Copier après la connexion

Problème : L'expression est placée entre parenthèses, ce qui empêche son développement.

Solution : Échapper au signe dollar en utilisant un autre signe dollar ($):

test:
    go test $$(go list ./... | grep -v /vendor/)
Copier après la connexion

Maintenant, le Makefile évaluera correctement l'expression et exécutera la commande go test avec les fichiers de test filtrés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal