Whats up with Bash expansion?

Hal Burgiss hal at burgiss.net
Thu Sep 29 01:24:23 UTC 2011

On Wed, Sep 28, 2011 at 3:10 PM, Harry <reader at newsguy.com> wrote:

> Expansion seems to work different and actually causes time consuming
> delays in getting the text right.
> Here is an example:
> I use a few homeboy variables to help navigation.  $rea equals
> /home/reader, so in these command:
>   ls $rea/some<tab> to complete to /home/reader/someplace
> That is how its worked for eons... but now when I hit tab the buck
> gets escaped \$rea/som<tab> and of course that cancels any expansion.
> Pre ubuntu (for me) I would see both the variable and the partial
> directory name expand when hitting <tab>.
> So instead of $rea expanding to /home/reader.... it gets escaped
> \$rea.  Now I have to back up and remove the escape slash and have
> lost the expansion property that has been such a time saver.
> Does anyone know if this is something that is configurable?
At least on some versions of Ubuntu its broken, indeed. AFAIK, its not
configurable, but would love to find out otherwise. Its a royal PITA.

In /etc/bash_completion, look for the line ...

  if shopt -q cdable_vars; then

and comment out that entire if section (5 lines). On 10.04 its at line 1385.
On 8.04 (it predates that release),  its on line 3154. Then start a new
shell, and see if that is better. This works for me.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-users/attachments/20110928/ca877d57/attachment.html>

More information about the ubuntu-users mailing list