Có một sửa lỗi chính tả cho bash?


8

Tôi muốn một cái gì đó dính vào lỗi 'lệnh không tìm thấy' trên bash và đưa ra cách khắc phục hữu ích.

Ví dụ:

grep-C3  error
bash: grep-C3: command not found

Sẽ thật tuyệt nếu nó nói:

Did you mean: grep -C3 error (Y/n)

Tôi đã thấy mọi người bao gồm các lỗi chính tả phổ biến trong tập lệnh .bash_profile như 'alias gerp = grep', nhưng tôi cho rằng ai đó có thể đã viết một phần mở rộng chung để bash để sửa lỗi này.

Có ai nghe nói về một phần mở rộng như vậy?


Câu trả lời:


4

Tôi không biết mục đích chung, nhưng có một tên cho thư mục:

$ shopt -s cdspell
$ cd /usr/ibn
/usr/bin
$ pwd
/usr/bin
$ cd /usr/shar/doc
/usr/share/doc

Đây là từ trang man cho Bash:

Nếu tìm kiếm không thành công, shell sẽ tìm kiếm một shell được xác định 
hàm có tên là lệnh_not_found_handle. Nếu chức năng đó tồn tại, nó là
được gọi với lệnh gốc và đối số của lệnh gốc  
như các đối số của nó

Có thể sử dụng điều này để làm những gì bạn muốn, nhưng mã sẽ là một thách thức khá lớn. Nhân tiện, Ubuntu, ví dụ, sử dụng điều này để hiển thị các gói có chứa lệnh không tìm thấy với hướng dẫn cài đặt (apt-get).


2

Có vẻ như shopt sẽ là một khởi đầu tốt.

Ngoài ra, có vẻ như zsh đã được sửa lỗi chính tả.


liên kết đến "shopt" trông giống như một trang trống từ đây.
sylvainulg

0

các command-not-foundgói sẽ cung cấp tính năng này trong distro gần đây.

Nếu không, bạn có thể gọi nó bằng tay từ command_not_found_handle()hàm.

Một lựa chọn khác là này .

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.