2016-12-14 3 views
-2

Ich versuche, eine Datei als Variable in einer Go-Datei go generate mit einzufügen aber es funktioniert nicht mit bad quoted string, das Problem ist, dass ich dies in einer Schale ohne Problem laufen kann:„bad zitierte Zeichenfolge“ in generieren gehen

//go:generate echo "var baseConfigProduction = \`" && cat base-production.json && echo "\`" 

Was fehlt mir hier?

+4

zeigen die genaue 'gehen: generate' Kommentar bitte. –

+0

Aktualisiert mit der aktuellen Zeile. –

+0

Go generieren führt keine Shell aus. Wenn Sie eine Shell möchten, müssen Sie eine ausführen. – JimB

Antwort

1

Go generieren funktioniert nur durch Aufruf ein Befehl. Wenn Sie mehrere anrufen möchten, entweder Sie sie in ein Bash-Skript setzen, oder etwas tun, wie folgt aus:

//go:generate echo var baseConfigProduction = ` 
//go:generate cat base-production.json 
//go:generate echo ` 

Aber AFAIK ist die Reihenfolge der Auswertung für mehrere go:generate Befehle nicht definiert, so kann man nicht wirklich zählen darauf würde ich empfehlen, bei BASH-Skripten zu bleiben.

EDIT: Eine andere Möglichkeit:

//go:generate sh -c "echo var baseConfigProduction = \\`$DOLLAR(cat base-production.json)\\`" 
Verwandte Themen