2012-07-09 84 views
0

我正在開發的項目之一是使用gnu進行測試。我想在一個沒有make實現的平臺上進行測試,但是有一個POSIX shell。我可以使用GNU make的SHELL變量連接到遠程shell嗎?

是否有可能創建一個腳本(最好在python中),它可以「縫合」遠程shell進行製作,並將其放入make的SHELL環境變量中?

如果不是,還有別的方法可以讓人想到這麼做嗎?

回答

2

這是可能的。

創建一個將命令轉發給遠程主機的腳本。例如:

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

並使其可執行(chmod +x)。

然後在Makefile中:

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

輸出:

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

謝謝!這似乎有潛力。但是,環境變量呢? IIRC,使一些傳輸到shell(例如當前工作目錄)。有沒有一種很好的方法來知道什麼環境變量傳遞? – nitzanms 2012-07-10 10:30:55

+0

所有的環境變量都變成了make變量。 ssh雖然不會將環境變量傳輸到遠程主機。改用命令行參數。 – 2012-07-10 13:35:37

+0

所以這些變量不會傳遞給shell?甚至沒有像PWD那樣的東西? – nitzanms 2012-07-10 14:18:24

相關問題