Thiết bị đầu cuối tự nhiên trên Mac tức là sinh ra thông qua Spotlight hoặc Launchpad, thông qua các biến môi trường mong muốn bao gồm tùy chỉnh trong ~/.bash_profile
. Nhưng khi tôi chạy Emacs ( Emacs.app
lấy từ Emacs Đối với Mac OS X ) và vỏ spawn bên trong nó (sử dụng một trong hai shell
, eshell
hoặc term
), vỏ không áp dụng các biến môi trường tương tự như đã đề cập trước đó.
Tôi nhận ra rằng shell chấp nhận môi trường của nó từ quá trình khởi chạy nó và chính vì điều này mà các giá trị của môi trường shell thay đổi giống như của Emac (ví dụ (getenv "PATH")
)
Mạo hiểm bên trong nội dung Terminal.app
và Emacs.app
không làm tôi may mắn.
Làm thế nào tôi có thể tự động nhận được cùng một biến môi trường mà tôi nhận được Terminal.app
trong trình bao sinh ra bên trong Emacs? Và tôi không thích khởi chạy Emacs từ thiết bị đầu cuối.
(Tôi nhận ra rằng đây là quá MacOSX-ish và câu trả lời có thể đề xuất các giải pháp / chỉnh sửa hoàn toàn bên ngoài Emacs. Nhưng câu hỏi liên quan đến Emacs do đó tôi đã chọn trang web này)
~/.bash_profile
được đọc chính xác khi tôi thực hiện Emacs.app
như thế này /Applications/Emacs.app/Contents/MacOS/Emacs . &
bằng cách sử dụng Terminal.app
.