2010-02-09 26 views
7

Tôi có hai lệnh, foofoo-bar, trong đó foo là liên kết tượng trưng đến foo-bar. Tôi muốn có thể nhập f + TAB (giả sử đây là hai lệnh duy nhất trên đường dẫn bắt đầu bằng f) và một trong số chúng được hoàn thành (nghĩa là tên đầy đủ là không gian sau).Bỏ qua mục nhập đường dẫn có hoàn thành tab bash

Điều gì sẽ xảy ra mặc dù nó hoàn thành chỉ foo (không có khoảng trống) vì foo-bar. Rõ ràng là không có nhiều công việc để sau đó chỉ cần nhấn thanh không gian, nhưng điều này làm gián đoạn dòng chảy của tôi.

Một số chi tiết thêm:

  • foofoo-bar đang ở trong cùng một thư mục.
  • Xóa/di chuyển foo không phải là một tùy chọn (tôi đã ẩn một số chi tiết).

Có cách nào bỏ qua một mục nhập đường dẫn cụ thể không?

Trả lời

10

Bạn sử dụng FIGNORE, mặc dù nó có một số tính chất lạ.

FIGNORE yêu cầu hậu tố thích hợp. Vì vậy, để bỏ qua foo-bar, bất kỳ trong số này sẽ làm việc:

FIGNORE=bar 
FIGNORE=-bar 
FIGNORE=r 
FIGNORE=oo-bar 

Điều nhập khẩu là không thử FIGNORE=foo-bar vì nó không phải là một hậu tố thích hợp.

+0

Cảm ơn, điều này đã làm việc! –

+0

'FIGNORE = foo-bar' hoạt động cho tôi. –

1

này cung cấp cho một thử:

FIGNORE=foo-bar 
+0

Điều này gần như hoạt động, nhưng như đã nêu trong giải pháp được chấp nhận, FIGNORE yêu cầu hậu tố thích hợp. –

+0

@Ed: Xin lỗi, tôi đã đọc sai câu hỏi của bạn, tôi đã đặt nó để bỏ qua foo thay vì foo-bar. Tuy nhiên, 'FIGNORE = foo-bar' hoạt động cho tôi. –

+0

Lạ, không chắc chắn tại sao 'FIGNORE = foo-bar' hoạt động cho bạn (không phải cho tôi). 'FIGNORE = oo-bar' không hoạt động với tôi. –

Các vấn đề liên quan