"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué mi makefile no interpolan expresiones en $ ((())?

¿Por qué mi makefile no interpolan expresiones en $ ((())?

Publicado el 2025-03-25
Navegar:219

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

Makefile Interpolation Problema

al intentar interpolar una expresión dentro de un comando Makefile, sigue sin evaluar. Esto ocurre cuando la expresión está encerrada en corchetes dobles rizados $ (()).

Para resolver este problema, duplique el signo de dólar ($) dentro de la sección de receta del makefile. Esto escapa efectivamente el primer signo de dólar, permitiendo una interpolación adecuada.

aquí hay un ejemplo de un makefile corregido:

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

.PHONY: test

Con esta modificación, la expresión $$ (ir en lista./... | grep -v/vendor/) se evaluará correctamente cuando se ejecute el comando de prueba Make.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3