2010-10-29 31 views
3

我對整個終端業務都很陌生,並且在裝有Snow Leopard的舊筆記本電腦上正常工作。如何使用空格在bash中爲文件名自動完成?

然而,雪豹新筆記本電腦的工作方式不同。當使用終端時,當試圖使自動完成功能起作用時,它不會自動完成具有空格的目錄名稱。我知道我可以手動輸入並逃脫那個空間,但我很想自動完成工作。

我能在這裏做什麼?

+0

這很奇怪,我剛剛嘗試過,在我的Snow Leopard系統上很好。甚至無法想象如何禁用該功能。希望更有知識的人能在這裏幫忙。 – Lazarus 2010-10-29 16:40:04

+0

所有命令上的所有目錄名都發生這種情況,還是僅在CD上?我問,因爲目錄名完成是內部的,所以它似乎必須有一個錯誤版本的bash破壞。 (如果它只是cd ...你有CDPATH設置嗎?這將使它使用擴展的bash完成腳本中的特殊cd完成,這可能更有可能是越野車,我想......) – Cascabel 2010-10-29 16:43:50

+0

它看起來像它適用於所有目錄,並且僅適用於CD ...不確定CDPath的含義,所以我會將其用於Google。有趣的是,如果我鍵入sudo cd [選項卡]它會自動完成。 – panzhuli 2010-11-01 20:05:09

回答

5

你知道,我發誓,這曾經工作,似乎最近停止工作(最近幾個月)。不知道任何OS X更新更新bash,但無論如何。

無論如何,將「完整的-o nospace -d cd」放入.bashrc(或者你正在使用的任何rc文件)似乎會給出所需的行爲。

+1

它適用於Mac OS X Lion 10.7.1。 – 2011-08-26 00:03:52

1

這是另一種可能更直接的解決方案。 您必須對轉義字符 \後跟一個空格

例如,

ls Xcode\ 5.0<tab> 

然後「Xcode 5.0」將被視爲整個字符串而不是兩個單獨的參數。

相關問題