Я давно установил в своих последних посещенных каталогах переменные оболочки d1, d2 и т.д.
На древней машине Fedora я мог набрать команду вроде
$ cp $ d1/
и оболочка заменит $ d1 текстом типа /home /acctname /projects /blog /, а затем покажет мне содержимое ... /blog, как вы ожидаете от завершения любой вкладки.
Теперь и ubuntu wheezy/sid, и fedora 16 просто \-пересекают '$', и, естественно, дополнений нет.
Вы можете увидеть это поведение в действии в окне терминала OSX. На 10.8 сделать что-то вроде
ls $ HOME/ чтобы понять, что я имею в виду.
Есть ли переменная оболочки bash или опция, которая может восстановить старое поведение?
man bash
предполагает, что это ошибка:
complete (TAB)
Attempt to perform completion on the text before point. Bash
attempts completion treating the text as a variable (if the text
begins with $), username (if the text begins with ~), hostname (if
the text begins with @), or command (including aliases and functions)
in turn. If none of these produces a match, filename completion is
attempted.
Я получаю описанное выше завершение, когда токен начинается с '~' или буквы. Это просто «$» - завершение сломано.