Maison >développement back-end >Golang >Pourquoi mon Makefile n'interpole-t-il pas les expressions dans $(()) ?

Pourquoi mon Makefile n'interpole-t-il pas les expressions dans $(()) ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-30 22:27:10884parcourir

Why Doesn't My Makefile Interpolate Expressions in $(())?

Problème d'interpolation Makefile

Lorsque vous tentez d'interpoler une expression dans une commande Makefile, elle reste non évaluée. Cela se produit lorsque l'expression est placée entre doubles accolades $(()).

Pour résoudre ce problème, doublez le signe dollar ($) dans la section recette du Makefile. Cela échappe effectivement au premier signe dollar, permettant une interpolation appropriée.

Voici un exemple de Makefile corrigé :

test:
    go test $$(go list ./... | grep -v /vendor/)

.PHONY: test

Avec cette modification, l'expression $$(go list ./. .. | grep -v /vendor/) sera évalué correctement lors de l'exécution de la commande make test.

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!

Déclaration:
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