Linux
bash 文件完成而不指定“./”
我正在使用 CentOS 8 的最小安裝。
如果我的主文件夾中有一個名為“some_folder”的文件夾,我可以在命令行上執行以下操作:
some <now hit tab, and bash completion resolves to "some_folder">
但是,如果我的主文件夾中有一個名為“my_file”的文件,則在提示符下輸入:
my_ <now hit tab, and NOTHING happens, bash completion does not work>
./my_
顯然,我必須在點擊標籤(!?)之前返回並輸入。你知道我如何讓 CentOS 以與文件夾相同的方式完成文件的選項卡嗎?
您的目前目錄不在(或不應該)在您的 中
$PATH
,因此它不是查找執行檔的有效位置。在此範例中,my_
是命令的前綴,因此不會在您的目前目錄中找到:my_<tab>
在這個例子中,
my_
是一個普通文件,可以通過 tab 補全找到:cat my_<tab>
如果前面沒有命令
my_
,則 shell 將僅以本地目錄的名稱或PATH
. 預設情況下PATH
,出於最佳實踐的原因,目前目錄不在其中。如果您要這樣做,
ls my_<TAB>
那麼它應該為您完成。