Computer >> Máy Tính >  >> Xử lý sự cố >> MAC

Cách sửa lỗi Mac Command Not Found trong Terminal?

Đôi khi, bạn có thể gặp phải lệnh " không tìm thấy lệnh "trên Mac khi cố gắng thực thi một số lệnh trong cửa sổ Terminal.

Vì Apple đã thay đổi shell mặc định từ bash thành zsh trong macOS Catalina, người dùng chạy macOS Catalina trở lên có thể sẽ thấy thông báo "zsh:command not found:brew". Nhưng người dùng đang chạy macOS Mojave hoặc phiên bản cũ hơn sẽ có thể gặp lỗi như "bash:brew:command not found."

Khi Terminal thông báo "lệnh không tìm thấy", điều đó có nghĩa là lệnh bạn đã nhập không có trong đường dẫn tìm kiếm của bạn. Điều này có thể xảy ra do một số lý do mà chúng tôi sẽ giải thích tiếp theo.

Sửa lỗi "không tìm thấy lệnh" trên Mac:

  • 1. Tại sao lỗi 'command not found' lại xuất hiện trên Terminal của Mac?
  • 2. Làm thế nào để sửa lỗi Mac command not found?

Tại sao lỗi 'command not found' lại xuất hiện trên Terminal của Mac?

Bạn có thể nhận được lỗi không tìm thấy lệnh Mac khi một trong những điều sau xảy ra:

  • Lệnh đã được nhập không chính xác.
  • Lệnh chưa được cài đặt trên máy Mac của bạn.
  • Lệnh đã vô tình bị xóa hoặc thư mục hệ thống đã bị sửa đổi hoặc xóa.
  • $ PATH chỉ định các thư mục cần được tìm kiếm cho một lệnh không đầy đủ, được đặt không chính xác hoặc bị xóa.

Bất kể lý do là gì, bạn có thể làm theo hướng dẫn chung dưới đây để khắc phục lỗi "không tìm thấy lệnh" trên Mac.

Làm thế nào để sửa lỗi Mac command not found?

Có nhiều trường hợp liên quan đến lỗi "không tìm thấy lệnh" trên Mac. Bạn có thể gặp thông báo "zsh:command not found" trên Mac Monterey hoặc bất kỳ phiên bản macOS nào khác sử dụng zsh. Sự cố cũng có thể xảy ra với bất kỳ lệnh nào. Dưới đây là một số thông báo lỗi thường được báo cáo mà người dùng nhận được:

  • zsh:không tìm thấy lệnh:$
  • zsh:không tìm thấy lệnh:ls
  • zsh:không tìm thấy lệnh:brew
  • zsh:không tìm thấy lệnh:nhập
  • bash:brew:không tìm thấy lệnh
  • -bash:$:không tìm thấy lệnh
  • sudo:không tìm thấy lệnh
  • sudo:nano:không tìm thấy lệnh

May mắn thay, những lỗi này thường có thể được giải quyết bằng các giải pháp sau. Bạn nên thử từng cái một cho đến khi lệnh có thể được thực thi thành công.

  • Cách khắc phục 1:Kiểm tra cú pháp của lệnh
  • Khắc phục 2:Đặt $ PATH làm đường dẫn macOS mặc định
  • Khắc phục 3:Thêm thư mục của bạn vào PATH
  • Khắc phục 4:Cài đặt lại macOS hoặc khôi phục từ Time Machine

Kiểm tra cú pháp của lệnh

Người dùng không quen với các lệnh thường mắc lỗi như quên thêm khoảng trắng ở vị trí cần thiết hoặc thêm các ký hiệu không cần thiết vào lệnh. Ví dụ:bạn có thể nhập sudo nano / private / etc / hosts để chỉnh sửa các tệp Host bằng Nano khi cú pháp chính xác có khoảng trắng sau nano, phải là sudo nano / private / etc / hosts.

Hoặc bạn có thể sao chép và dán một dòng như $ brew install pyqt vào Terminal, dòng này chỉ trả về lỗi:"-bash:$:command not found" trên Mac. Đó là vì $ chỉ đơn giản là một dấu nhắc Terminal mẫu trong tài liệu không cần xuất hiện trong lệnh.

Vì vậy, điều đầu tiên bạn nên kiểm tra khi gặp lỗi "lệnh không tìm thấy" trên Terminal của Mac là cú pháp của lệnh. Tốt nhất bạn nên sao chép văn bản gốc vào Terminal hơn là tự mình gõ. Ngoài ra, so sánh lệnh của bạn với các ví dụ khác bằng cách sử dụng cùng một lệnh cũng sẽ hữu ích.

Đặt $ PATH làm đường dẫn macOS mặc định

Đường dẫn đề cập đến một vị trí cụ thể trong hệ thống tệp. Tương tự, biến hệ thống PATH ($ PATH) cho các lệnh Terminal chỉ định một số thư mục nơi chứa các chương trình thực thi. Với $ PATH, máy Mac của bạn biết nơi tìm kiếm để thực hiện một lệnh, vì vậy bạn không cần nhập đường dẫn tuyệt đối của lệnh mà chỉ cần đặt tên như ls.

Tuy nhiên, nếu đường dẫn mà lệnh bạn muốn thực thi không được đặt, bạn sẽ gặp lỗi "lệnh không tìm thấy" trên Mac, chẳng hạn như "zsh:lệnh không tìm thấy" hoặc "zsh:lệnh không tìm thấy ls" .

Trong trường hợp này, trước tiên bạn cần đảm bảo rằng $ PATH nơi các lệnh cư trú được định cấu hình theo các bước sau:

  1. Mở Terminal.
  2. Thực thi lệnh sau để đặt đường dẫn chuẩn mà macOS sử dụng trong dòng lệnh:export PATH ="/ usr / local / bin:/ usr / bin:/ bin:/ usr / sbin:/ sbin" Cách sửa lỗi Mac Command Not Found trong Terminal?
  3. Nhập mật khẩu của bạn và nhấn Enter.

Thử chạy lại lệnh mà bạn đã thất bại trước đó để xem lỗi "zsh:command not found" có tái diễn trong macOS Monterey hay không. Nếu sự cố vẫn tiếp diễn, hãy tiến hành sửa chữa tiếp theo.

Thêm thư mục của bạn vào PATH

Một vấn đề khác có thể dẫn đến "zsh:command not found" trên máy Mac M1 là khi lệnh bạn đã nhập không được lưu trong $ PATH mặc định. Bạn có thể kiểm tra $ PATH mặc định hiện tại bằng cách thực hiện lệnh sau trong Terminal:echo $ PATH

Cách sửa lỗi Mac Command Not Found trong Terminal?

Lệnh này có thể sẽ cung cấp cho bạn $ PATH mặc định là / usr / local / bin:/ usr / bin:/ bin:/ usr / sbin:/ sbin, là năm thư mục mà máy Mac của bạn sử dụng với các dòng lệnh.

  • usr / local / bin
  • / usr / bin
  • / bin
  • / usr / sbin
  • / sbin

Nếu lệnh bạn sử dụng được lưu trữ trong một thư mục bị loại trừ khỏi các thư mục mặc định, hãy thực hiện các bước bên dưới để thêm lệnh đó vào $ PATH. Ví dụ:nếu bạn gặp lỗi "zsh:command not found:brew" trên Mac và bạn nhận thấy Homebrew của mình được lưu trữ tại / opt / homebrew / bin, thay vì / usr / local /. Làm theo các giải pháp sau để khắc phục:

  1. Khởi chạy thiết bị đầu cuối.
  2. Thực thi lệnh sau để thêm tạm thời thư mục mới (ví dụ:/ opt / homebrew / bin) vào $ PATH:export PATH =$ PATH:/ opt / homebrew / bin
  3. Kiểm tra xem thư mục mới có được thêm vào hay không bằng lệnh echo:echo $ PATH

Bạn có thể kiểm tra xem lệnh bạn muốn sử dụng có hoạt động ngay bây giờ hay không. Nếu bạn muốn thay đổi đường dẫn vẫn tồn tại, bạn cần thêm nó vào tệp .zshrc, .bash_profile hoặc .bashrc, tùy thuộc vào trình bao bạn sử dụng. Làm theo các bước sau:

  1. Thực thi lệnh này trong Terminal để chuyển vào thư mục chính của bạn.cd
  2. Sử dụng lệnh bên dưới để liệt kê các tệp trong thư mục chính của bạn và kiểm tra xem bạn có tệp .zshrc hay không nếu bạn chạy zsh.ls -la
  3. Nếu bạn chưa có, hãy tạo một tài khoản bằng trình chỉnh sửa nano bằng lệnh này. Nếu không, hãy chuyển sang bước 4. chạm .zshrc
  4. Chạy lệnh này để chỉnh sửa .zshrc với nano.nano .zshrc
  5. Thực thi một lệnh khác để thêm thư mục mới (ví dụ:/ opt / homebrew / bin) vào .zshrc.export PATH =$ PATH:/ opt / homebrew / bin
  6. Thoát khỏi Terminal và mở lại.

Giả sử phương pháp này không thực hiện được thủ thuật, hãy tiếp tục đọc phương pháp tiếp theo để giải quyết lỗi "zsh:command not found" trên máy Mac M1 hoặc máy Mac Intel của bạn.

Cài đặt lại macOS hoặc khôi phục từ Cỗ máy thời gian

Nếu bạn đang tìm hiểu xung quanh hệ thống và tình cờ xóa một số tệp hoặc thư mục hệ thống, bạn có thể đã vô tình xóa các tệp cần thiết cho các lệnh Terminal. Nếu điều đó xảy ra, bạn cần khôi phục các tệp hệ thống này.

Bạn có thể chọn khôi phục về trạng thái trước đó nếu bạn đã sao lưu máy Mac của mình bằng Time Machine. Nếu không, bạn có thể cài đặt lại macOS mà không cần định dạng ổ đĩa. Lưu ý rằng mặc dù việc cài đặt lại hệ điều hành sẽ không gây ra bất kỳ mất mát dữ liệu nào, nhưng tốt nhất bạn nên tạo một bản sao của các tệp quan trọng trước khi thực hiện.