Làm cách nào tôi có thể chỉnh sửa $ PATH trên linux?


44

Tôi đang sử dụng Ubuntu 9.04 Tôi cần thêm một số thư mục vào $ PATH của mình. Tôi biết cách đọc đường dẫn:

echo $PATH

Tôi muốn có thể chỉnh sửa nó và thêm 2 đường dẫn khác.

Cảm ơn


2
Khi bạn có thể thực hiện điều này, bạn có thể muốn thực hiện các thao tác phức tạp hơn trên PATH: stackoverflow.com/questions/273909/
mẹo

Thuộc về các trang web Unix hoặc Ubuntu.
Thomas Bratt

Câu trả lời:


42

Để lưu trữ vĩnh viễn đường dẫn của bạn, bạn có một vài lựa chọn.

Tôi khuyên bạn nên đọc wiki cộng đồng Ubuntu về Biến môi trường nhưng câu trả lời ngắn gọn là nơi tốt nhất ~/.profiledành cho cài đặt PATH cho mỗi người dùng của bạn hoặc /etc/profilecho cài đặt toàn cầu.

Làm một cái gì đó như export PATH=$PATH:/your/new/path/here


8
Điều quan trọng cần lưu ý là có nhiều lần hồ sơ của bạn không được chạy (chẳng hạn như khi tập lệnh được chạy bởi cron). Nếu bạn cần một đường dẫn cụ thể được đặt trong PATH, tập lệnh phải đặt đường dẫn đó. Điều đó nói rằng, các kịch bản không bao giờ nên dựa vào bất cứ điều gì trong đường dẫn của chúng và phải luôn luôn sử dụng các đường dẫn tuyệt đối, bất cứ điều gì khác là vấn đề bảo mật.
Chas. Owens

14
PATH=$PATH:newPath1:newPAth2
export PATH

3
Tôi nghĩ bạn có thể làm tất cả trên một dòng nếu bạn muốn. xuất PATH = $ PATH: newPath1: newPAth2

2
Nó phụ thuộc vào vỏ bạn đang sử dụng. Trên Solaris (tôi biết câu hỏi là về Linux), một trong những hệ vỏ (không thể nhớ cái nào nằm trên đỉnh đầu của tôi) yêu cầu bạn thực hiện xuất riêng biệt với việc đặt giá trị trong tập lệnh. Vì vậy, tôi đã có thói quen làm điều đó trên 2 dòng.
Glen

7

Bạn cũng có thể đặt cái này trong môi trường toàn cầu:

sudo emacs /etc/environment

Nối vào các mục đã có trong đường dẫn của bạn

PATH="/path/to/file:/other/paths"

Tải lại môi trường

source /etc/environment

1
Chỉnh sửa tệp môi trường là cách duy nhất tôi có thể khiến PATH thay đổi và luôn thay đổi.

2

Nó đã được trả lời về cách làm điều đó, nhưng tôi muốn cho bạn một lời khuyên nhỏ. Đây là những gì tôi làm:

Tôi có một thư mục được gọi .bash.dtrong đó $HOMEvà trong đó tôi giữ một tập các shell script thực hiện công cụ cho môi trường của tôi (ví dụ: thiết lập maven chính xác, sửa đổi đường dẫn, đặt dấu nhắc của tôi, v.v.). Tôi giữ điều này dưới sự kiểm soát phiên bản bằng cách sử dụng git , điều này giúp bạn dễ dàng quay lại phiên bản làm việc của env, nếu bạn làm hỏng điều gì đó. Để có được tất cả các sửa đổi, tôi chỉ cần nguồn tất cả các tệp trong thư mục đó ở cuối .bashrc của tôi như thế này:

for i in $HOME/.bash.d/*; do source $i; done
unset i

Điều này cung cấp cho bạn một môi trường rất linh hoạt mà bạn có thể dễ dàng sửa đổi và khôi phục + bạn có thể xuất nó sang các máy khác chỉ bằng cách sử dụng git.


1

Một biến thể từ phía trên, nếu bạn không muốn thay đổi tập tin / etc / profile trực tiếp. Bạn có thể tạo một tập tin mới yourpath.sh trong /etc/profile.d/ thư mục. Sau đó chỉnh sửa tập tin này như thế. Với trình soạn thảo vim (nhưng vui lòng chỉnh sửa nó bằng trình chỉnh sửa khác): vim /etc/profile.d/yourpath.sh

MYPATH='/your/new/path/'
export MYPATH
export PATH=$PATH:$MYPATH

: w rite và q uit và nó đã hoàn thành đường dẫn của bạn đã được sửa đổi. Nếu bạn đang sử dụng thiết bị đầu cuối, hãy đóng nó và mở lại. biến mới của bạn sẽ được cập nhật. Bây giờ nó sạch hơn, bạn có thể xóa tệp này khi bạn không cần nó nữa và nó không can thiệp vào cấu hình ban đầu.


(1) Miễn là PATHđược xuất khẩu, MYPATHkhông cần phải có (trừ khi bạn cần nó cho các mục đích khác). (2) Cách nhanh chóng để lưu (ghi) và thoát trong vim là ZZ- không cần :hoặc (Enter).
Scott

0

echo PATH = $ PATH: path1: path2> tmp

Chỉnh sửa tệp tmp bằng trình soạn thảo văn bản yêu thích của bạn để giá trị của PATH chính xác như bạn muốn

. ./tmp

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.