Maison > développement back-end > Golang > Comment puis-je échapper à l'interpolation du signe dollar dans les commandes Makefile ?

Comment puis-je échapper à l'interpolation du signe dollar dans les commandes Makefile ?

Mary-Kate Olsen
Libérer: 2024-12-16 10:11:11
original
1002 Les gens l'ont consulté

How Can I Escape Dollar Sign Interpolation in Makefile Commands?

Échapper à l'interpolation d'une expression dans une commande Makefile

Problème :

Rencontrer des difficultés pour interpoler une expression dans une commande dans un Makefile en raison de l'évaluation problèmes.

Explication :

Un Makefile utilise des règles d'évaluation différentes par rapport à un script shell. Dans un Makefile, le signe dollar ($) est utilisé pour l'expansion des variables, mais lorsqu'il est utilisé dans une commande, il peut ne pas être évalué comme prévu.

Solution :

Pour échapper au $ dans une commande Makefile et activer l'interpolation d'expression de type shell, utilisez un deuxième signe dollar ($$). Cela indique au Makefile de traiter le premier $ comme du texte littéral et de différer l'interpolation vers le shell.

Exemple :

Pour exécuter des tests dans un projet Go, mais ignorer le fournisseur tests, vous pouvez utiliser l'extrait Makefile suivant :

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

.PHONY: test
Copier après la connexion

Dans cet exemple, le $$(go list ./... | grep -v /vendor/) est entouré de doubles dollars pour garantir que l'expression est interpolée par le shell.

En échappant au signe dollar, le Makefile évalue correctement l'expression et fournit le résultat attendu.

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