Tôi đã phá vỡ PATH của mình bằng cách chỉnh sửa ~ / .bash_profile và Bash sẽ không nhận ra hầu hết các lệnh


15

trong .bash_profile Tôi vô tình đặt đường dẫn thành:

PATH="~/Tools/apache-maven-3.3.3/bin"

và bây giờ đường dẫn mặc định đã biến mất. Không có gì trong Terminal hoạt động nữa:

Korays-MacBook-Pro:~ koraytugay$ ls
-bash: ls: command not found
Korays-MacBook-Pro:~ koraytugay$ mkdir test
-bash: mkdir: command not found

Tôi không thể thấy các tệp ẩn trong Finder vì vậy tôi cũng không thể sửa đổi .bash_profile từ Finder.

Làm thế nào tôi có thể khắc phục tình trạng này?


1
Điều này có thể không hoạt động trên hệ thống BSD-ish: hãy thử khôi phục đường dẫn mặc định bằng PATH=$(getconf PATH), nếu không thìPATH=/bin:/usr/bin
glenn jackman

1
Đề xuất "getconf PATH" thực sự hoạt động tốt, ít nhất là vào ngày 10.10.
calum_b

3
Vì PATH được đọc sai nên đề xuất của glenn sẽ hoạt động vớiPATH=$(/usr/bin/getconf PATH)
fd0

Câu trả lời:


25

Cách đơn giản nhất là khôi phục từ bản sao lưu, ví dụ từ Time Machine
Tuy nhiên, nếu bản sao lưu cuối cùng đủ lâu trước đó có những thay đổi khác bạn muốn giữ thì bạn có thể chỉnh sửa .bash_profile

Trong thiết bị đầu cuối

Trong một thiết bị đầu cuối, bạn có thể sử dụng đường dẫn đầy đủ đến các trình soạn thảo (/ usr / bin / emacs / usr / bin / vi hoặc / usr / bin / nano) để chỉnh sửa ~ / .bash_profile

ví dụ

/usr/bin/nano ~/.bash_profile

Hoặc bạn có thể mở nó bằng trình soạn thảo văn bản mặc định (theo TextEdit mặc định) thông qua:

/usr/bin/open ~/.bash_profile

Trong GUI - từ Dock hoặc Finder

Nhưng bạn cũng có thể thực hiện việc này từ TextEdit (hoặc các trình soạn thảo GUI khác) bằng File-> Open và vào thư mục chính của bạn. Tùy thuộc vào việc bạn đã đặt Finder để hiển thị tất cả các tệp hay không hiển thị các tệp bị ẩn (mặc định), bạn sẽ thấy .bash_profile trong danh sách hoặc bạn có thể nhấn ⌘ CMD+ ⇧ SHIFT+ .hiển thị các tệp ẩn trong hộp thoại Mở / Lưu. (phím tắt là từ câu trả lời này )


5
Người dùng không thể tự khắc phục sự cố được mô tả có thể sử dụng tốt hơn nanothay vì emacs/ viđể chỉnh sửa ~/.bash_profile.
nohillside

12

Mang lại một PATH tối thiểu

Nhập lệnh sau để thiết lập lại một PATH tối thiểu:

PATH=/bin:/usr/bin

Sửa chữa ~/.bash_profile

Chỉnh sửa của bạn ~/.bash_profilevới trình soạn thảo văn bản yêu thích của bạn vi, emacs hoặc TextEdit. Luôn luôn thích cấu trúc PATH tương đối:

PATH=${PATH}:...my_personal_added_pathes...
export PATH

Kiểm tra nó

Trước khi tiến hành quá nhiều người mới bắt đầu bằng cách khởi động lại phiên của bạn, để khám phá ra rằng họ không thể bắt đầu một vỏ nữa. Kiểm tra của bạn ~/.bash_profile: mở một Terminalcửa sổ khác và kiểm tra xem nó có hoạt động tốt không:

. ~/.bash_profile
ls
uptime
date
...

1
Không cần exporttối thiểu của bạn PATH. Bất kỳ quá trình bắt đầu bởi shell hiện tại sẽ kế thừa tối thiểu PATH. Mặc dù, tôi sẽ sử dụng export PATHtrong một tập tin cấu hình shell.
fd0

1
Đúng! Tôi đã quá quen với việc gõ nó theo cách này trong các môi trường nơi có các kịch bản shell đang thử nghiệm.
dan

2

tôi đã gặp phải sai lầm này khiến tôi mất cả một buổi chiều để khắc phục. ls, git, mkdir, v.v ... Các lệnh bash trở nên không hợp lệ và báo lỗi: "- bash: xx: không thể tìm thấy tệp hoặc thư mục" vì tôi đã sửa đổi .bash_profile khi cài đặt zsh. nhập lệnh sau để khôi phục ~ / .bash_profile của bạn

  1. trong terminal của mac, nhập:

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  2. bạn có thể sử dụng các lệnh bash của mình tạm thời, nhập:

    vim ~/.bash_profile
  3. khôi phục các tham số PATH bằng cách sửa đổi

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  4. lưu vim và thoát, sau đó nhập:

    source ~/.bash_profile

OK, máy tính của tôi hoạt động trở lại!


Có thể đáng để thêm rằng một người cần phải cẩn thận trong bước 3 không phá hủy nội dung khác trong tệp.
nohillside

.bash_profile đã bị hủy bởi các đơn đặt hàng không chính xác của tôi, không còn gì ngoại trừ "xuất PATH =" trống, vì vậy đây là cách duy nhất tôi phải sao lưu lại máy mac của mình
Yongsheng Yu

-2
  1. Mở bash_profile của bạn bằng cách chạy / usr / bin / vim ~ / .bash_profile. (vim ~ / .bash_profile sẽ không hoạt động nữa vì đường dẫn không đúng).
  2. Thoát khỏi con đường bạn vừa thêm mà làm rối tung mọi thứ.
  3. Thoát và khởi động lại thiết bị đầu cuối để nguồn ~ / .bash_profile tự động chạy. (Một lần nữa, nó sẽ không hoạt động như vậy, vì đường dẫn không chính xác).

-5

Mở .bash_profile của bạn, đi đến dòng có lệnh lỗi của bạn và đặt # trước nó là ký tự đầu tiên của dòng. Khởi động lại (để chắc chắn).


Làm thế nào để anh ấy mở .bash_profile của mình?
dùng151019
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.