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?
Best Answer
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:
and then press the shortcut, the above will expand both variables to:
Enable the
shopt
builtin'sdirexpand
option by running in your terminal:Now, if you type:
it will be expanded to:
To have the
direxpand
option enabled for all terminal sessions, appendshopt -s direxpand
in your.bashrc
file either manually or by running: