我經常需要對目錄做一些事情。為了有一個簡寫,我將它們的路徑放入 bash 變數中,如下所示:
currentProjectPath="Save the blank"
然後我想在裡面創建一些目錄(或基本上用它做任何事情),但因為它包含空格,我必須引用它:
mkdir "$currentProjectPath"
mkdir -p "$currentProjectPath/Ideas/My Ideas/The good ones"
在那裡使用自動完成功能會很棒,但是當鍵入mkdir "$curr
然後按 時Tab,什麼也沒有發生。
作為解決方法,我有時會鍵入mkdir $curr
Tab,將其補全為mkdir $currentProjectPath
(inkl.末尾空白),然後返回到開頭添加"
,但每隔一段時間我就會忘記這一點。
是否有可能$
在 bash 中啟用帶引號的字串中自動完成變數名稱?
答案1
預設M-$
( Alt+ $) 綁定到雙引號內complete-variable
,並且它在雙引號內工作。
請注意,雖然Tab一般情況下所做的操作取決於其上下文(例如,您會在 aftercd
和 after 後看到不同的可能完成set
),complete-variable
但明確地將point 之前的文字視為shell 變量,僅此而已。還有其他類似的專門完成函數(例如complete-hostname
,complete-username
),您可能會發現它們很有用。請參閱man 1 bash
或線上手冊發現它們及其預設綁定。