Bash doesn't expand variables when pressing Tab key

Solution 1:

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