Bash

如何修復在目錄上附加空格而不是斜杠的 Linux 文件名選項卡自動完成?

  • October 17, 2012

出於某種奇怪的原因,我的文件名自動完成的行為與正常情況不同。給定以下文件結構./foobar/file.txt,如果我想刪除file.txt,我鍵入rm foob<TAB><TAB>並讓命令行自動完成文件名到rm foobar/file.txt.

但是現在,在點擊第一個命令後,<TAB>我的命令會自動完成rm foobar(後面有一個空格foobar)。是否有可能我不小心將其更改為這種行為?我怎樣才能把它改回來?

根據我的經驗,這通常是由 中的一個文件中的一些不當配置引起的,這些文件/etc/bash_completion.d會在您安裝各種軟體包時安裝和更新。我的建議是將所有文件移出該目錄,啟動一個新的 shell,然後查看行為是否恢復正常。如果是這樣,您可以一次將一個(或一組)文件移回該目錄,以查看哪些文件會導致問題。縮小範圍後,報告安裝該文件的任何軟體包中的錯誤!

引用自:https://unix.stackexchange.com/questions/52118