2016-12-14 75 views
-2

我試圖用go generate插入一個文件作爲一展身手文件中的變量,但它失敗bad quoted string,問題是,我可以在沒有問題shell中運行這個:「壞引用字符串」中去生成

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

我在這裏錯過了什麼?

+4

顯示確切'去:generate'評論請。 –

+0

更新爲實際行。 –

+0

Go generate不執行shell。如果你想要一個shell,你需要執行一個。 – JimB

回答

1

Go只能通過調用一個命令生成作品。如果你想叫幾個,你要麼把它們放到一個bash腳本,或做這樣的事情:

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

但據我所知,評估的幾個go:generate命令的順序是不確定的,所以你不能真正指望因此,我建議堅持使用BASH腳本。

編輯:另一種可能性:

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