Cách khắc phục lỗi “Command Not Found” trong dòng lệnh Mac
Mục lục:
Người dùng Mac nâng cao sử dụng dòng lệnh đôi khi có thể gặp phải thông báo lỗi "không tìm thấy lệnh" khi cố gắng chạy nội dung nào đó trong dòng lệnh. Lỗi "không tìm thấy lệnh" trong Terminal có thể xuất hiện vì một số lý do trong dòng lệnh của MacOS và Mac OS X, như chúng ta sẽ thảo luận ở đây và tất nhiên chúng ta sẽ đưa ra giải pháp cho những vấn đề này.
Tại sao bạn thấy thông báo lỗi “không tìm thấy lệnh” tại dòng lệnh
Bốn lý do phổ biến nhất khiến bạn có thể thấy thông báo “không tìm thấy lệnh” trong dòng lệnh của máy Mac như sau:
- nhập sai cú pháp lệnh
- lệnh bạn đang cố chạy chưa được cài đặt
- lệnh đã bị xóa hoặc tệ hơn là thư mục hệ thống đã bị xóa hoặc sửa đổi
- $PATH của người dùng không đầy đủ hoặc $PATH đã bị đặt, đặt lại hoặc xóa sai – đây là lý do phổ biến nhất để thấy thông báo 'không tìm thấy lệnh'
May mắn thay, bạn có thể giải quyết tất cả các vấn đề này và đưa hệ thống chung hoạt động trở lại như mong đợi. Nếu bạn chỉ đơn giản là nhập sai cú pháp, việc nhập đúng cú pháp sẽ giải quyết vấn đề đó, thật dễ dàng! Ngoài ra, chúng ta sẽ bắt đầu với lý do phổ biến nhất, đó là người dùng $PATH không được đặt đúng cách hoặc bị đặt lại bằng cách nào đó.
Sửa lỗi Thông báo đầu cuối “Không tìm thấy lệnh” trong Mac OS với Cài đặt $PATH
Lý do rất có thể khiến người dùng Mac có thể bất ngờ nhìn thấy thông báo không tìm thấy lệnh trong dòng lệnh là do đã xảy ra sự cố với $PATH của người dùng hoặc đường dẫn chứa lệnh không được đặt. Bạn có thể kiểm tra $PATH với “echo $PATH” nếu muốn, nếu không, bạn chỉ cần chạy các lệnh sau để đặt đường dẫn mặc định tiêu chuẩn mà Mac OS sử dụng trong dòng lệnh:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin "
Nhấn quay lại và chạy lại lệnh của bạn, lệnh sẽ hoạt động tốt.
Nhân tiện, mặc dù chúng tôi đang tập trung vào Mac OS ở đây, ý tưởng tương tự này cũng áp dụng cho các loại unix và linux khác.
Lưu ý nếu lệnh dự định bạn đang cố sử dụng nằm trong một thư mục không chuẩn hoặc ở một vị trí khác (/usr/local/sbin/ etc), bạn luôn có thể thêm $PATH mới đó vào dòng lệnh để chỉ định nơi cần tìm nếu cần.
Trước đây, khi thông báo “không tìm thấy lệnh” xuất hiện khi chạy dòng lệnh đơn giản ls và cd:
Sau đó, các lệnh đó hoạt động thành công như mong đợi:
Điều này xảy ra như thế nào? Đôi khi nó có thể chạy lệnh xuất $PATH không đầy đủ hoặc không chính xác, lỗi điều chỉnh các biến môi trường, trong số các lý do khác.
Bạn có thể cần làm mới trình bao dòng lệnh để thay đổi có hiệu lực. Nếu bạn khởi chạy lại Terminal và gặp lại lỗi "không tìm thấy lệnh", thì hãy thêm lệnh xuất $PATH cho người dùng .bash_profile, .profile hoặc cấu hình trình bao có liên quan nếu sử dụng trình bao thay thế trong ứng dụng Terminal.
“Command not found” vì lệnh chưa được cài đặt? Sử dụng HomeBrew
Nếu lệnh chưa được cài đặt trên máy Mac, ví dụ như wget, htop hoặc nhiều lệnh unix hữu ích khác có sẵn dưới dạng gói Homebrew không được cài đặt sẵn trong Mac OS, thì giải pháp đơn giản nhất là cài đặt và sử dụng Homebrew trên máy Mac để có quyền truy cập vào các tiện ích dòng lệnh đó. Homebrew dù sao cũng là một công cụ tuyệt vời, vì vậy nếu bạn định dành thời gian trong Terminal thì có thể bạn sẽ muốn có nó.
“Không tìm thấy lệnh” vì thiếu thư mục hệ thống? Khôi phục các tệp hệ thống bị thiếu
Thỉnh thoảng, người dùng Mac có thể rơi vào tình huống vô tình hoặc vô tình xóa các tệp hệ thống khỏi Mac OS. Thông thường, điều này xảy ra khi ai đó đang thử nghiệm các lệnh rm/srm và ký tự đại diện hoặc có thể họ trở nên quá sốt sắng với Thùng rác khi đăng nhập với quyền root. Trong bất kỳ trường hợp nào, bạn có thể đọc tại đây cách khôi phục các tệp hệ thống bị xóa hoặc bị thiếu cho Mac OS và Mac OS X – thường liên quan đến việc khôi phục từ bản sao lưu hoặc tự cài đặt lại phần mềm hệ thống.
Bạn có biết lý do nào khác khiến bạn có thể thấy thông báo lỗi "không tìm thấy lệnh" trong Mac OS Terminal không? Có lẽ bạn có một giải pháp tốt hơn những gì được cung cấp ở trên? Chia sẻ với chúng tôi trong phần bình luận bên dưới!