2009-05-19 31 views
5

Khi tôi bắt đầu gvim từ khi kết nối với một thiết bị đầu cuối, tôi có thể truy cập tất cả các biến môi trường của mình.Cách lấy các biến môi trường từ bên trong gvim

Nhưng nếu tôi khởi chạy gvim từ trình đơn hoặc từ trình khởi chạy "Chạy ứng dụng", tất cả các biến môi trường của tôi đều không thể truy cập được.

Làm cách nào để truy cập các biến môi trường được xác định trong bashrc của tôi nếu gvim không được khởi chạy từ thiết bị đầu cuối?

Các biến này được định nghĩa trong ~/.bashrc

Distro: Ubuntu Intrepid

Note1: "Run ứng dụng" launcher có thể truy cập bằng cách nhấn ALT + <F2>

+0

Bạn thiết lập các biến môi trường này trong bashrc của mình như thế nào? Cũng là tệp ~/.bashrc cá nhân của riêng bạn hoặc là/etc/bashrc nơi bạn đang thiết lập các biến này? – Andy

+0

Chúng tôi có thể lấy thêm chi tiết không. Một ví dụ về một biến bạn không thể truy cập ($ PATH?) Cái gì distro? Trình khởi chạy "Chạy ứng dụng" là gì? Trên máy tính để bàn hoặc trong một applet hoặc những gì. – Whaledawg

Trả lời

7

Bạn nên thể đọc tất cả các biến môi trường thực tế, ví dụ

:!echo $PATH 

Vấn đề của bạn là với biến môi trường cá nhân.

Tại sao bạn cố gắng đọc biến môi trường trong gvim? Có thể có cách làm tốt hơn.

Phạm vi biến môi trường
Khi bạn đăng nhập vào máy tính, hãy bash nguồn tệp .bash_profile.
Khi bạn chạy một thiết bị đầu cuối nó nguồn tập tin .bashrc, do đó, các biến môi trường cá nhân của bạn có sẵn trong thiết bị đầu cuối đó và bất kỳ subshells.

Nếu bạn không xuất các biến từ .bashrc, các biến này sẽ không có sẵn trong môi trường chung và chúng sẽ chỉ khả dụng sau khi bạn đã chạy thiết bị đầu cuối nếu bạn xuất chúng.

Vì bạn đang chạy gvim thông qua trình khởi chạy ứng dụng, không có gì đang đọc tệp .bashrc của bạn để tạo các biến môi trường đó cho bạn.

Đối với một số info vào biến môi trường shell bourne, xem phần 9.1.2

Vì vậy, một nơi tốt để đặt:

MYENVIRONMENTVARIABLE=new value of environment variable 
export MYENVIRONMENTVARIABLE 

nằm trong .bash_profile, và sau đó nếu bạn muốn thực hiện bất kỳ thay đổi biến, đảm bảo bạn xuất lại chúng (và nếu bạn muốn thay đổi là vĩnh viễn, hãy chỉnh sửa .bash_profile).

Lưu ý rằng giá trị của biến môi trường này sẽ có sẵn cho bất kỳ shell mới nào, nhưng các shell hiện tại có lẽ sẽ không đọc lại các biến môi trường.

+1

Kết thúc buổi tiệc, nhưng: Di chuyển các biến môi trường đó từ .bashrc sang .profile có thể hữu ích. '.profile' được thực thi khi đăng nhập; trong khi .bashrc chỉ được thực hiện khi mở bash sau khi đăng nhập. – jpaugh

Các vấn đề liên quan