변수 세트를 반복하고 현재 반복 값에 따라 한 줄씩 소스 파일을 편집 한 다음 다시 작성하고 마지막으로 호출 한 쉘 스크립트를 작성하고 있습니다. 컴파일 된 바이너리. 실행 후 이전 행이 복원됩니다. 기본적으로 나는 C++ 소스 파일에 #define
약 10 상호 배타적이, 나는 각각의 효과를 실험하고 있습니다bash 스크립트에서 make를 호출 할 수 없습니다.
#!/bin/sh
for i in 0..4; do
perl -i -pe "s/.*/{SUBS[$i]}/ if $. == ${LINE[$i]}" ${SOURCE}
make
./bin/myTool
perl -i -pe "s/.*/\/\/{SUBS[$i]}/ if $. == ${LINE[$i]}" ${SOURCE}
done
: 여기
은 조각이다. 나는 게으르므로 자동화 된 프로세스로 만들고 싶습니다. 여기에 저는 붙어 있습니다. 내가 파일 모든perl
명령 전후
diff
로 시도, 지금
`make: Nothing to be done for 'all'`
및 파일이 이런 이유를 알아낼 수 없습니다 ... 올바른 나타나지 않습니다
는 때때로 쉘이 말한다 발생 올바른 동작을시키는 방법.
아이디어가 있으십니까?
미리 감사드립니다.
고정되어 있으며 실수는 완전히 내 것이 었습니다. 나는 sleep 명령어를 추가했는데 틀린 장소에 확실히 추가했다. 그냥 루프의 시작 부분에 놓는다. (답변에 올바르게 기술되어있다.) 모든 것이 잘되었다. 감사! – Daniele
스크립트의 마지막 버전 : 잠자기하는 대신,'touch -t 1010101010 $ {SOURCE} $ {OBJECT}'... 더 적은 시간 낭비했습니다! :) – Daniele