2017-05-17 3 views
0

verwende ich ein Make tue, aber ich kann nicht den Wert von $ var zurückkehren es in Konditionalsätze zu verwenden:

#!/bin/sh 

GO=$(shell) go 
GOPATH=$(GO) env GOPATH 

make: 
    @$(GOPATH) 
    @if [ ! -d "$(GOPATH)/bin" ]; then mkdir -p "$(GOPATH)/bin" ; fi 

Wenn ich tippe make, @$GOPATH kehrt /home/icvallejo/go aber nach , Ich weiß nicht, wie man es benutzt (ich kann es nicht tun) mit 'if' Bedingung, make gibt das zurück:

wenn [! -d "go env GOPATH/bin"]; dann mkdir -p "go env GOPATH/bin"; fi

Können Sie mir bitte helfen?

+0

Was ist 'gehen' und mit' GOPATH'? – igagis

+0

Ich möchte $ go env GOPATH ausführen, um den GOPATH (golang) zu nehmen und in $ GOPATH zu behalten. Tatsächlich funktioniert es mit 'gmake' aber nicht mit' make' – icarbajo

Antwort

0
#!/bin/sh 

GO := go 
GOPATH := $(shell $(GO) env GOPATH) 

make: 
    @echo $(GOPATH) 
    @if [ ! -d "$(GOPATH)/bin" ]; then mkdir -p "$(GOPATH)/bin" ; fi 
+1

Es funktioniert nur mit GNU make 'gmake' – icarbajo