Biến PATH vĩnh viễn


38

Làm thế nào tôi có thể /media/De Soft/mongodb/binbiến biến PATH này vĩnh viễn?

Mọi người đều nói " export PATH=$PATH:media/De\ Soft/mongodb/binvới bạn ~/.profile, hoặc .bashrc, hoặc .zshenvtùy thuộc vào vỏ của bạn".

Tôi không biết cái gì là ~/.profile, hoặc .bashrc, hoặc .zshenv. Họ làm gì thực sự?

Làm cách nào export PATH=$PATH:my/pathđể thêm vào .profile / .bashrc / .zshenv của tôi?

Tôi đang sử dụng Ubuntu 14.04 LTS 64 bit với thiết bị đầu cuối mặc định.

Câu trả lời:


70

Chúng là các tập tin cấu hình. Một chiều:

  • Mở cửa sổ terminal bằng Ctrl + Alt + T
  • Chạy lệnh gedit ~/.profile
  • Thêm dòng

    export PATH=$PATH:/media/De\ Soft/mongodb/bin

    xuống đáy và lưu

  • Đăng xuất và đăng nhập lại

Chỉnh sửa:

Một cách an toàn hơn là sử dụng dấu ngoặc kép. Làm như vậy là cần thiết nếu một hoặc nhiều thư mục trong bản gốc PATHchứa khoảng trắng. Vì thế:

export PATH="$PATH:/media/De Soft/mongodb/bin"

@GunnarHjalmarsson, tôi có thực sự cần xuất var PATH không? Có lẽ, nó được thực hiện theo mặc định trong một số kịch bản khác? Tôi đã kiểm tra bởi ~ / .profile và var PATH là có, nhưng nó không được xuất khẩu một cách rõ ràng: PATH = ~ / .local / bin: $ JAVA_HOME / bin: $ PATH
yuranos87

4
@ yuranos87: ​​Không, bạn đúng; khi sửa đổi PATHtrong ~/.profile, xuất khẩu là không cần thiết, vì PATHđã là một biến môi trường.
Gunnar Hjalmarsson

1
Bạn không cần phải đăng xuất và đăng nhập lại. Sử dụng source ~/.profile.
timbo

1
@timbo: Điều đó không làm cho biến có sẵn cho các quy trình đã bắt đầu trong phiên (ngoại trừ thiết bị đầu cuối hiện tại).
Gunnar Hjalmarsson

1
Bạn không cần một dấu ngoặc kép trong chuỗi như trong export PATH="$PATH:/media/De\ Soft/mongodb/bin"? Nó là tùy chọn?
Bruno Bentzen

4

Nhập nội dung sau vào cửa sổ terminal

export PATH=/media/De\ Soft/mongodb/bin:$PATH 

Đóng thiết bị đầu cuối và khởi động lại máy tính. Đường dẫn phải bao gồm / media / De \ Soft / mongodb / bin khi bạn nhập cái này vào terminal:

echo $PATH

13
Điều đó chỉ hoạt động cho phiên thiết bị đầu cuối hiện tại. Nó cần phải ở trong ~/.profile(hoặc ~/.bashrctrên các bản phát hành GNU / Linux thông thường ... thậm chí ~/.bash_profile) để được chạy trên mọi tải giao diện điều khiển.
Alejandro Iván

đã đồng ý. nhưng khi khởi động lại hệ thống, nó được tải trong biến đường dẫn.
Nivingita Velagaleti

10
@NivingitaVelagaleti: Không, trừ khi bạn kiên trì thực hiện thông qua tập tin cấu hình. Lệnh terminal không sửa đổi PATHliên tục.
Gunnar Hjalmarsson

2

Để thay đổi vĩnh viễn, PATHbạn cần thay đổi /etc/environmenttập tin. Tạo bản sao lưu trước khi chỉnh sửa:

sudo cp /etc/environment /etc/environment.bak
sudo nano /etc/environment

đầu ra mẫu:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Các đường dẫn được phân định bởi :vì vậy để thêm một đường dẫn mới cho biết x/y/zđiều này sẽ /etc/environmenttrông như thế nào:

PATH="x/y/z:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.