Có thể cập nhật môi trường từ một tệp makefile không? Tôi muốn có thể tạo một mục tiêu để thiết lập các biến môi trường máy khách cho chúng. Một cái gì đó như thế này:Có thể makefile cập nhật môi trường gọi điện không?
AXIS2_HOME ?= /usr/local/axis2-1.4.1
JAVA_HOME ?= /usr/java/latest
CLASSPATH := foo foo
setenv:
export AXIS2_HOME
export JAVA_HOME
export CLASSPATH
Vì vậy mà khách hàng chỉ có thể làm:
make setenv all
java MainClass
và có nó làm việc mà không có họ cần phải thiết lập classpath để thực hiện java mình.
Hoặc tôi đang tìm cách làm điều này một cách sai và có cách nào tốt hơn?
Hoặc, bạn có thể bỏ qua dòng cuối cùng ('java MainClass') và sau đó báo cho người dùng của bạn biết * nguồn * tập lệnh, được dự định chính xác cho tình huống của bạn trong việc thiết lập biến môi trường trong quá trình shell chính. – JasonSmith
Thông tin bên lề: Các tệp .BAT và .CMD trên các cửa sổ được xử lý trong cùng một cá thể của CMD.EXE đang nhắc và thực hiện các lệnh tương tác. Điều này tương đương với lệnh nguồn trong csh hoặc. lệnh trong sh. – RBerteig