다음 코드와 같이 run.mk이라는 간단한 makefile을 작성하고 있습니다. makefile의 while 루프 내에서 변수의 값을 변경하는 방법은 무엇입니까?
a = 0
b := $(shell echo `expr $(a) + 1`)
app: main.o
gcc -o app main.o
main.o: main.c
gcc -c main.c
test:
while [ $(a) -lt 10 ];\
do\
echo $(a);\
a:= $(shell echo `expr $(a) + 1`);\
echo $(a);\
done
내가 명령 을 사용하여이 메이크 파일을 실행
은 -f run.mk 테스트을, 오류가 온다 : 발견 루프가 에 업데이트되지 않습니다 무한히 변수 A의 예 값을 실행하지 : = $ (셸 반향expr $(a) + 1
) while 루프 내에. 그러나 변수 b의 값은 처음에 동일한 코드 줄
$ (쉘 에코 expr $(a) + 1
)을 통해 1로 설정됩니다. 누군가가 루프 내에서 변수 a의 값을 업데이트하는 방법을 알려주십시오.
감사합니다.
4.0을 다음
$$
이 쉘 스크립트에서 메이크업에 의해 확장되는 변수 및 결과를 탈출는 쉘에 의해 실행되는 . –