Làm thế nào để thiết lập lại $ PATH?


13

Tôi đã cố gắng thêm một cái gì đó vào $ PATH và nó đã hoàn toàn sai. Bây giờ tôi không thể chạy bất kỳ lệnh nào như ls. Tôi đã xem câu trả lời này và sử dụng các dòng sau:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
PATH=$PATH:~/bin

Những dòng này khắc phục vấn đề tạm thời; tuy nhiên, khi tôi khởi động lại thiết bị đầu cuối, nó dường như quên đi những thay đổi này.

Làm cách nào để thiết lập lại vĩnh viễn $ PATH của tôi?

Tôi đang chạy phiên bản mới nhất của Mountain Lion.


5
Đã sửa lỗi:/bin/rm ~/.bash_profile
Nosrettap

2
Câu hỏi hay. Bạn luôn có thể đặt sửa chữa của bạn trong một câu trả lời.
bassplayer7

Cũng được hỏi về superuser
glenn jackman

1
Nhận thấy bạn đã khắc phục sự cố của mình, người dùng có vấn đề tương tự cũng có thể tìm thấy trợ giúp tại/etc/paths
David Smith

Câu trả lời:


15

Câu trả lời được đề xuất loại bỏ .bash_profilekhông phải là một ý tưởng tốt nói chung. Có những thứ khác có thể được đặt trong tệp đó ngoài các PATHđịnh nghĩa.

Nếu bạn muốn hoàn tác các hiệu ứng thử nghiệm của mình, chỉ cần xóa hoặc nhận xét PATHdòng đó với a #.

Bạn không muốn chỉnh sửa PATHtừ đầu, nhưng hãy thêm vào nó, như bạn đã làm với dòng thứ hai của mình. Phương pháp ưa thích để thêm một cái gì đó vào đường dẫn của bạn sẽ là:

export PATH=$PATH:$HOME/bin

EDIT Vì bạn đã PATHbị rối, bạn không có quyền truy cập vào các lệnh thông thường để thực hiện những thay đổi này. Là một sửa chữa tạm thời, bạn có thể xác định một đường dẫn tối thiểu mới trong cửa sổ Terminal (không phải trong của bạn .bash_profile) bằng cách nhập:

PATH=/bin:/usr/bin

Điều này sẽ tạm thời cung cấp cho bạn quyền truy cập nano ls mv vi catrm- các công cụ cơ bản để kiểm tra và chỉnh sửa .bash_profilevà khắc phục sự cố của bạn ...

Lặp lại, không đặt PATHđịnh nghĩa này ở bất cứ đâu ngoại trừ thời lượng của phiên trong khi bạn thực hiện các sửa lỗi của mình.


5

Tôi đề nghị:

source /etc/profile

Đây là những gì Mac sử dụng để đặt đường dẫn ban đầu và nó sẽ đặt mọi thứ trở lại vị trí ngoại trừ các mục mà bạn đang thêm cho người dùng của mình.

Tôi thực hiện một số lượng lớn sửa đổi đường dẫn trong ~ / .bash_profile của mình và tôi đã đặt nó ở đầu tệp vì tôi gặp vấn đề với việc tải lại hồ sơ của mình trong khi tôi làm việc sau khi chỉnh sửa bí danh trong đó hoặc một cái gì đó và nó đã thêm các tham chiếu trùng lặp vào đường dẫn của tôi. Thay vì kiểm tra xem nó đã được thêm chưa, tôi chỉ cần đặt lại đường dẫn của mình sang phiên bản đầu và nối lại các mục tôi muốn.


3

Xóa hồ sơ bash của bạn để khôi phục mặc định $PATH. Nhập lệnh sau vào Terminal.app :

/bin/rm ~/.bash_profile

Thay đổi sẽ diễn ra với phiên bản vỏ hoặc thiết bị đầu cuối tiếp theo.


Trả lời, dựa trên ý kiến ​​của người hỏi ban đầu, để xóa câu hỏi khỏi hàng đợi chưa được trả lời.
Graham Miln

4
Chà, nếu bạn muốn giữ nội dung khác trong hồ sơ của mình, một cách đơn giản /bin/mv ~/.bash_profile ~/bash_profilecó thể tốt hơn
nohillside

1
Đây là câu trả lời đơn giản nhất tôi đã tìm thấy trong toàn bộ trang web SE. Cảm ơn!
mr5

0

Mặc định của OSX $PATHđược tạo từ nội dung của /etc/pathstệp, nó khá đơn giản để sửa đổi.


1
Sửa đổi /etc/pathscó nguy cơ thay đổi bị ghi đè bởi bản cập nhật OS X tiếp theo, điều này cũng không hoạt động đối với các đường dẫn cụ thể của người dùng như ~/bin.
nohillside

Điều đó đúng, mặc dù tôi thường xử lý những người trong .rc của tôi sau này. Tôi cũng chưa có /etc/pathsthiết lập lại bởi một bản cập nhật (vài năm nay kể từ khi tôi bắt đầu sử dụng brew).
Chris Keele

Hiện tại việc hack một điều khoản boxen mà tôi hy vọng sẽ khiến tôi không thể tin được các bản cập nhật ghi đè trong tương lai.
Chris Keele

0

Những phương pháp này thật tuyệt! Nếu bạn gặp vấn đề này với zsh, hãy xóa ~/.zshrcĐiều này sẽ thoát khỏi cài đặt zsh của bạn.


Bạn muốn giữ một bản sao/bin/mv ~/.bash_profile{,.bck}
MauroPorras
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.