Bash

抑制路徑中的變數擴展

  • September 27, 2012

如何防止 Zshell(和我假設的 Bash)擴展路徑中的環境變數,如下例所示:

$PREFIX/alt/li

應該擴大到

$PREFIX/alt/lib

而不是說

/opt/alt/lib

這是 zsh 下的預設行為。complete-wordexpand-or-complete zle 小元件不會擴展其值為目錄名稱的參數,只要/它後面有一個(即$foo/<TAB>)。

有很多方法可以自定義此行為。例如,也許您已經設置Tab為執行expand-or-complete-prefix. 還有一些樣式expand也影響這種keep-prefix行為。

假設您有一個名為 的文字目錄$PREFIX,只需在, for\之前添加一個,那麼您的製表符完成將起作用。如果您沒有名為 的文字目錄,則自動完成將不起作用,因為它需要擴展以確定哪些值對自動完成有效。$``\$PREFIX``$PREFIX``$PREFIX

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