2017-02-23 34 views
0

我正在扔這條毛巾。子目錄中的Foreach python文件

我有一個相當成功的makefile,它發現子目錄中的文件將它們作爲過濾器傳遞給pandoc。它在沒有空格的路徑中效果很好,但是我不能讓它在包含空格的路徑中運行。

這裏是MWE:

BASEDIR=$(CURDIR) 
STYLEDIR=$(BASEDIR)/style 
FILFILES := "$(shell find "$(STYLEDIR)" -name *.py)" 
FILTER := $(foreach "$(FILFILES)", "$(FILFILES)", --filter $(FILFILES)) 
TEXFLAGS = --filter pandoc-crossref --filter pandoc-citeproc $(FILTER) --latex-engine=xelatex 

pdf: 
    pandoc document.md $(TEXFLAGS) 

爲了使示例工作,你必須在某個目錄與空間運行makefile,嘗試this md dir,創建一個子目錄style並添加任何.py文件。現在運行,你會看到FILFILES選擇合適的python文件,但是foreach會創建三個實例,因此--filter --filter --filter。這是爲什麼?我究竟做錯了什麼?

如果你想充分生成文件:含化妝空間here

回答

1

這是幾乎不可能用字(包括文件名)。

要清楚,完全忽略所有類型的引號字符(雙,單,後)。

在某些特定情況下,您可以使用技巧來使其工作。但是,您並未向我們提供任何有關您實際在做什麼的信息;您將展示如何分配變量FILFILESFILTER,但不顯示如何使用這些變量。

如果這些變量只在食譜中使用,那麼你通常可以使它工作。如果你使用它們作爲先決條件,那麼即使不是不可能,也是非常困難的。

相關問題