2014-11-28 14 views

Trả lời

2

Um ... điều đó không hiệu quả đối với tôi. Tôi sẽ làm

export PATH=$(pwd):$PATH

Lệnh được đăng trước đây theo nghĩa đen chỉ cần thêm các dấu chấm.

+0

không phù hợp với bạn? – Baha

24

Tôi biết đây là câu trả lời cũ, nhưng nếu có ai khác tình cờ gặp câu hỏi này qua Google như tôi đã làm, đây là giải thích chi tiết hơn.

Nếu bạn muốn làm cho nó để con đường tìm kiếm có chứa giá trị của pwd tại thời điểm bạn thiết con đường tìm kiếm, làm:

export PATH=$PATH:$(pwd) 

Vì vậy, nếu pwd/home/me/tmp, PATH sẽ được thiết lập đến $PATH:/home/me/tmp

Tuy nhiên, nếu bạn muốn nó để thư mục làm việc hiện tại của bạn tại thời điểm bạn thực hiện lệnh (ví dụ: pwd tại bất kỳ thời điểm đã định nào), hãy làm:

export PATH=$PATH:. 

Vì vậy, nếu pwd/home/me/tmp, PATH sẽ được thiết lập để $PATH:.. Nếu thư mục làm việc hiện tại của bạn có chứa một tập lệnh có tên là foo, thì nó sẽ là số phận trong PATH của bạn. Nếu bạn thay đổi các thư mục thành thư mục không chứa foo, "foo" sẽ không được tìm thấy trong PATH nữa.

Bạn nên lưu ý rằng có thư mục làm việc hiện tại của bạn trong PATH là một nguy cơ bảo mật tiềm năng, tuy nhiên.

+4

luôn thêm. ở cuối con đường ... không phải là khởi đầu. đặt nó ngay từ đầu là rủi ro bảo mật lớn nhất. vì bạn có thể thay thế các lệnh chuẩn như ls. Thực hành rất tệ. Đặt nó ở cuối, sau đó các lệnh chuẩn sẽ luôn được phát hành trước. – DiamondDrake

+0

Cảm ơn @RickeyWard, bạn hoàn toàn đúng. Tôi đã chỉnh sửa câu trả lời để phản ánh đề xuất của bạn. –

+1

Nguy cơ ở đây là rất thực tế. Nếu tôi tạo một tệp thực thi độc hại có tên sau một tiện ích phổ biến ('ls', v.v.) và lừa bạn truy cập vào thư mục, bạn có khả năng chạy nó và bị khai thác. Điều này không áp dụng dễ dàng cho các máy chủ người dùng đơn lẻ nhưng nó vẫn là một rủi ro không cần thiết. Tôi khuyên bạn nên chống lại bất kỳ thư mục tương đối nào trong '$ PATH'.Nếu bạn có một loạt các lệnh trong một thư mục mà bạn chỉ sử dụng đôi khi, bạn nên viết một kịch bản nhanh để thêm nó (một cách rõ ràng) vào đường dẫn. – Mark

1
export PATH=$PATH:$PWD 

làm việc với bash 4.3.48

1

Nếu bạn muốn vĩnh viễn thêm thư mục bạn đang truy vào biến PATH bạn có thể sử dụng

$ echo "export PATH=\$PATH:$(pwd)" >> ~/.bashrc 

mà sẽ mở rộng $(pwd) vào chuỗi chữ của thư mục hiện tại của bạn và nối thêm dòng được trích dẫn vào bashrc của bạn. Lưu ý rằng cần \ trong \$PATH để thoát khỏi việc mở rộng $PATH thành giá trị hiện tại của nó.

$ pwd 
/path/to/suuuuuuuuuuuuuuuuuuuuper/long/foo/directory/bin 

$ echo "export PATH=\$PATH:$(pwd)" >> ~/.bashrc 

$ tail ~/.bashrc -n 1 
export PATH=$PATH:/path/to/suuuuuuuuuuuuuuuuuuuuper/long/foo/directory/bin 
Các vấn đề liên quan