2012-07-09 2 views
0

내가 연구하고있는 프로젝트 중 하나는 gnu를 사용하여 테스트합니다. make 구현이 없지만 POSIX 쉘을 가지고있는 플랫폼에서 테스트하고 싶습니다.GNU make의 SHELL 변수를 사용하여 원격 쉘에 연결할 수 있습니까?

원격 쉘을 "스티치"하여 make의 SHELL 환경 변수에 넣을 수있는 (가급적이면 파이썬에서) 스크립트를 만들 수 있습니까?

그렇지 않다면 누구나 생각할 수있는 다른 방법이 있습니까?

답변

2

가능합니다.

원격 호스트에 명령을 전달하는 스크립트를 만듭니다. 예 :

#!/bin/bash 
shift # remove -c argument 
exec ssh remote_host "[email protected]" 

실행 파일 (chmod +x)로 지정합니다. 메이크

: 그리고

SHELL := './my_shell.sh' 
all : 
    @echo `hostname` is making [email protected] 

출력 :

$ make 
remote_host.peer1.net is making all 
+0

감사합니다! 이것은 잠재적 인 것으로 보인다. 하지만 환경 변수는 어떻습니까? IIRC, 쉘 (예 : 현재 작업 디렉토리)에 일부를 전송하십시오. 어떤 환경 변수가 패스를하는지 알 수있는 좋은 방법이 있습니까? – nitzanms

+0

모든 환경 변수가 make 변수가됩니다. ssh는 환경 변수를 원격 호스트로 전송하지 않습니다. 대신 명령 행 인수를 사용하십시오. –

+0

그래서이 변수들은 쉘에 전달되지 않습니까? PWD 같은 물건조차 없습니까? – nitzanms

관련 문제