5

In the previous versions of Ubuntu 18.04, the variables in Bash are expanded when I press the Tab key. But in Ubuntu 20.04 (using bash 5.0.16), the variables are not expanded. Instead, the dollar sign $ before the variable gets proceeded by a backslash.

For example, let's say, I have a variable MY_DIRECTORY:

export MY_DIRECTORY=/path/to/a/folder

Now when I write something like this:

ls $MY_DIRECTORY<Tab key>

I get:

ls \$MY_DIRECTORY

As you can see, the variable doesn't expand to the desired path. What is wrong with that?

3
3

You have the following two options for expanding a variable in Bash:

  • Use the Ctrl+Alt+E keyboard shortcut whenever you want to expand a variable.

    For example, if I write in my terminal:

    $LANG $BASH
    

    and then press the shortcut, the above will expand both variables to:

    en_US.UTF-8 /usr/bin/bash
    
  • Enable the shopt builtin's direxpand option by running in your terminal:

    shopt -s direxpand
    

    Now, if you type:

    ls $MY_DIRECTORY/<Tab key>
    

    it will be expanded to:

    ls /path/to/a/folder/
    

    To have the direxpand option enabled for all terminal sessions, append shopt -s direxpand in your .bashrc file either manually or by running:

    echo "shopt -s direxpand" >> ~/.bashrc
    

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.