2011-10-05 4 views
0

나는 GNU이 확인 사용하여 파일 세트에 프로그램을 실행하는 방법을 알아 내려고 붙어있어 확인 : GNU는 (여러 파일에 실행 프로그램)

FILES=$(shell ls *.pdf) 

지금 내가 그러나 내가 정확하게 작업을 수행하는 방법을 알아낼 수없는 것, '파일'에있는 파일의 각 프로그램 'P'를 실행하고자하고있다.

'파일'변수의 예

는 다음과 같습니다

"a.pdf k.pdf omg.pdf" 

나는 운이없이 (,, foreach 문)을 $를 해봤 및 루프와 같은 # 빈/bash는 실패 할 것 같습니다!.

는 명령에서 쉘 루프를 할 수
+0

중복 가능성 [메이크에서 루프를 작성하는 방법?] (http://stackoverflow.com/questions/1490949/how-to-write-loop-in-makefile) – Beta

답변

1

:

all: 
    for x in $(FILES) ; do \             
     p $$x ; \ 
    done 

는 (명령의 첫 번째 라인은 탭으로 시작해야합니다는 다른 오래된 공백을 가질 수 있습니다.)

여기에 더 메이크업 스타일의 방법이다 :

TARGETS = $(FILES:=_target) 

all: $(TARGETS) 
    @echo done 

.PHONY: $(TARGETS) 

$(TARGETS): %_target : % 
    p $* 
+0

완벽, 나 첫 번째 글자와 함께 나왔습니다. – Skeen

관련 문제