"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi mes expressions de makefile ne sont-elles pas interpotées dans $ (())?

Pourquoi mes expressions de makefile ne sont-elles pas interpotées dans $ (())?

Publié le 2025-03-25
Parcourir:839

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

MADEFILE INTERPOLATION Issue

Lorsque vous essayez d'interpoler une expression dans une commande MakeFile, elle reste non évaluée. Cela se produit lorsque l'expression est enfermée dans des supports à double boucle $ (()).

Pour résoudre ce problème, doublez le signe du dollar ($) dans la section de recette du makefile. Cela échappe efficacement au premier signe en dollars, 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 / fournisor /) sera évaluée correctement lors de l'exécution de la commande de test.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3