Hoàn thành tab Bash dừng tìm kiếm


8

Khi tôi đang gõ vào bash và tôi nhấn phím "tab" để tự động hoàn tất, đôi khi phải mất một thời gian đáng kể. Ví dụ: tập tin IO để đọc thư mục mất> 5 giây và do đó tôi đang chờ đợi IO hoàn thành trước khi tôi có thể tiếp tục nhập. Tôi cảm thấy thất vọng và Ctrl-C để tôi có thể làm lại những gì tôi đã gõ.

Ctrl-C thật không may, vì tôi phải gõ lại mọi thứ một lần nữa. Làm thế nào tôi có thể nói bash ngừng cố gắng thực hiện yêu cầu hoàn thành tự động của mình.

$ /long/path/to/some/d     # once I've typed this, I press <TAB>. I now will be
                           # stuck waiting for perhaps 10 seconds. The only thing I
                           # know to do is Ctrl-C. When I press Ctrl-C, I am forced
                           # to retype the original command string.
$

Bạn có thể muốn xem xét điều này. ubuntuforums.org/showthread.php?t=1865538
Ramesh

Câu trả lời:


1

Tôi chỉ tìm thấy điều này ở đây .

Sử dụng Ctrl+\. Nó sẽ dừng hoàn thành và quay trở lại dòng lệnh của bạn mà không mất lệnh hiện tại.


Đáng tiếc là điều này không làm việc cho tôi trên Ubuntu
Josh

0

Bạn có thể có vấn đề tương tự mà không hoàn thành tab. Điều này không giới thiệu một sự khác biệt kỹ thuật tức là các giải pháp tương tự được áp dụng.

Một khả năng là bắt đầu tìm kiếm trong nền và viết kết quả vào một FIFO. Bạn có thể đọc từ FIFO với thời gian chờ sau đó (read -t 0.3 ... ).

Tôi đoán rằng tôi đã thấy một giải pháp đơn giản hơn so với FIFO ở đây gần đây ... nhưng hiện tại tôi không nhớ điều đó. read -tcũng hoạt động với một đường ống, nhưng việc hoàn thiện readkhông giết chết các phần trước của đường ống và đường ống chỉ trở lại sau khi tất cả các phần của nó đã hoàn thành.


Làm thế nào điều này có liên quan đến câu hỏi?
lensovet

@lensovet Nếu dường như không có cách nào để giải quyết vấn đề theo cách được yêu cầu (nghĩa là hủy bỏ tìm kiếm) thì một gợi ý làm thế nào (ít nhất là một phần) để tránh vấn đề có vẻ khá hữu ích với tôi.
Hauke ​​Laging

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.