“드라이 런”또는 시뮬레이터 유틸리티 인“make install”의 실행을 시뮬레이션합니까?


13

bash 스크립트를 실행하고 결과로 생성되는 명령을 확인하지만 실제로는 명령을 실행하지 않는 일반적인 방법이 있습니까 (예 : "건식 실행"/ 시뮬레이터)?

실행하려는 데이터베이스 설치 스크립트 (실제로 ./configure 및 make를 실행 한 후 "make install")가 있지만 원하지 않는 모든 종류의 항목을 설치하고 있습니다.

그래서 실제로 실행하기 전에 수행 할 작업을 정확하게 볼 수있는 방법을 원합니다. 어쩌면 수동으로 명령을 실행할 수도 있습니다.

이러한 작업을 수행 할 수있는 유틸리티가 있습니까 (또는 관련 / 유사한 것이 있습니까)?


'set -n'은 그런 식으로 작동한다고 생각합니다. -x도 추가해보십시오.
Jeff Schaller

-n을 설정하기 위해 "make install"을 어떻게 파이프합니까?
Vérace

bash -n make install, 그러나 from man bash: "대화식 쉘은이 옵션을 무시할 수 있습니다."
pfnuesel

에 드라 이런 옵션이 없습니다 bash. 여기도 참조하십시오 stackoverflow.com/questions/19115156/…
pfnuesel

답변:


16

GNU make는 드라 이런 을 수행 할 수있는 옵션 이 있습니다 :

'-엔'

'-그냥 인쇄하다'

'-드라 이런'

'-정찰'

"아니오". 타겟을 최신 상태로 만드는 데 필요한 레시피를 인쇄하지만 실제로 실행하지는 않습니다. 이 플래그를 사용하더라도 일부 레시피는 여전히 실행됩니다 (MAKE 변수 작동 방법 참조). 또한 포함 된 makefile을 업데이트하는 데 필요한 모든 레시피가 계속 실행됩니다.

따라서 상황에 따라 실행할 make -n install명령을 보려면 실행 하십시오 make.


5

모든 버전 make에는 -n옵션 이 있지만 ( POSIX 설명make 참조 ) 에는 해당 옵션이 없습니다 (예 : 명령을 실행하지 않고 명령 표시 참조 ).

상황을 악화시키기 위해 automake를 사용하는 경우 누구나 "make -n"을 사용할 수있는 능력을 상실하고 어떤 내용을 볼 수 있는지를 나타내는 대량의 상용구 스크립팅 (개발자가 "재귀 규칙"이라고 함)을 붙여 넣습니다. 우연히 있다.

더 읽을 거리 :

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.