Isu:
Menghadapi kesukaran menginterpolasi ungkapan dalam arahan dalam Makefile disebabkan penilaian isu.
Penjelasan:
Fail Make menggunakan peraturan penilaian yang berbeza berbanding skrip shell. Dalam Makefile, tanda dolar ($) digunakan untuk pengembangan berubah, tetapi apabila digunakan dalam arahan, ia mungkin tidak dinilai seperti yang dimaksudkan.
Penyelesaian:
Untuk melepaskan $ dalam arahan Makefile dan mendayakan interpolasi ungkapan seperti shell, gunakan tanda dolar kedua ($$). Ini memberitahu Makefile untuk menganggap $ pertama sebagai teks literal dan menangguhkan interpolasi ke shell.
Contoh:
Untuk menjalankan ujian dalam projek Go, tetapi langkau vendor ujian, anda boleh menggunakan coretan Makefile berikut:
test: go test $$(go list ./... | grep -v /vendor/) .PHONY: test
Dalam contoh ini, senarai $$(go ./... |. grep -v /vendor/) disertakan dalam dolar dua kali ganda untuk memastikan bahawa ungkapan diinterpolasi oleh cangkerang.
Dengan melarikan diri dari tanda dolar, Makefile menilai ungkapan dengan betul dan menyediakan output yang dijangkakan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh melarikan diri dari Interpolasi Tanda Dolar dalam Perintah Makefile?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!