Bash
文件夾排除格式問題
我正在嘗試為faultfinder和cppcheck創建目標,它將遞歸搜尋目前目錄,但忽略名為“Test”的目錄。但是,我遇到了一些格式化問題。
我的使用者編寫和腳本命令在終端上顯示時看起來相同
我的使用者輸入的終端顯示:
cppcheck --quiet --force !(Tests)
當我執行make .securityCheck時,生成文件輸出的 Vs 終端顯示:
=================== cppcheck ====================== Tue Aug 29 13:32:00 PDT 2017 =================================================== cppcheck --quiet --force !(Tests)
執行 makefile 腳本時會產生錯誤:
syntax error near unexpected token `('
當我的使用者輸入正確評估時
生成文件:
CPPCHECK ?= cppcheck CPPCHECK_FLAGS += --quiet --force FLAWFINDER ?= flawfinder FLAWFINDER_FLAGS += --quiet --dataonly --minlevel 4 SOURCES ?= !(Tests) .securityCheck: @$(ECHO) =================== cppcheck ====================== @$(DATE) @$(TIME) @$(ECHO) =================================================== $(CPPCHECK) $(CPPCHECK_FLAGS) $(SOURCES) @$(ECHO) ================== flawfinder ===================== @$(DATE) @$(TIME) @$(ECHO) =================================================== $(FLAWFINDER) $(FLAWFINDER_FLAGS) $(SOURCES)
目前使用 kubuntu 16.04 LTS。uname -a 將 linux 版本指定為 4.10.0-33-generic。make –version 提供 GNU Make 4.1。也使用 bash。
我相信您看到的錯誤可能
cppcheck
與Makefile
(或目前目錄中的其他一些非 C 或非 C++ 原始碼文件)作為輸入文件一起執行。我建議您不要設置
SOURCES
為!(Tests)
,而是將其設置為您要執行的程序的實際原始碼文件cppcheck
。