2015-08-11 18 views
11

Tôi đang cố chuyển phần cuối của biến môi trường .bashrc vào cuối tệp/etc/environment.cách chỉnh sửa đúng tệp/etc/environment?

Nhưng mỗi lần tôi thay đổi tệp này không thể đăng nhập trên máy tính và hoàn tác thay đổi qua chế độ hiển thị CTRL + ALT + F2, sau đó để tiết kiệm thời gian, tôi tự hỏi cấu hình của mình có chính xác hay không trước khi khởi động lại máy tính.

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" 
JAVA_HOME="/usr/lib/jvm/java-8-oracle/​" 
CLASSPATH="JAVA_HOME/lib/:$CLASSPATH" 
PATH="$JAVA_HOME/bin/:$PATH" 
M2_HOME="/usr/share/maven/" 
M2="$M2_HOME/bin" 
PATH="$M2:$PATH" 

Tôi đã thực hiện thay đổi làm thư mục gốc, cách chỉnh sửa/etc/môi trường tệp là đúng?

Trả lời

7

Bạn không thể tham chiếu các biến được xác định trước đó theo cách tương tự như bạn thực hiện trong .bashrc trong/etc/environment. Xem this section của wiki Trợ giúp Cộng đồng Ubuntu,

"Đây không phải là tệp kịch bản, mà là bao gồm các biểu thức chỉ định, mỗi biểu thức một dòng."

Ngoài ra, hãy xem following answer về các ví dụ cú pháp.

+0

Làm cách nào để biết liệu biến môi trường $ JAVA_HOME hoặc $ M2_HOME có đang mở rộng Biến không? Đối với liên kết bạn đã cho tôi, việc mở rộng Biến không hoạt động trong/etc/environment. – ricardoramos

+0

Tôi sẽ nghĩ rằng 'PATH DEFAULT = $ {PATH}: $ {HOME}/MyPrograms' sẽ được phân loại là _variable expansion_. Hành động mở rộng biến đã tồn tại với nhiều nội dung hơn, bằng cách sử dụng ':'. – mattias

+0

"Mở rộng biến" có nghĩa là "biến một biến thành nội dung của nó". Đây là cách bash sử dụng các biến. Đầu tiên, bash đọc lệnh và "mở rộng" tất cả các biến vào giá trị của chúng. Sau đó bash thực hiện lệnh. "'/etc/environment' không hỗ trợ mở rộng biến "có nghĩa là" '/ etc/environment' không thể sử dụng biến". – galgalesh

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