On 05/01/2012 12:53 PM, Dominique Michel wrote:
A very common way to write $HOME in a path is with ~
With "PATH="~/bin:$PATH" into ~/.bash_profile, I get only the first
menu line on the screen.
With "PATH="/home/dom/bin:$PATH" into ~/.bash_profile, I get the 2
menu lines on the screen.
It look like the "Test (x xdradio) ..." work only in the first case.
Is it a bug in fvwm or somewhere else, or some obscure and wanted stuff
I am not aware of?
It is an issue with the shell, and how it expands special characters.
When the shell encounters an Env Variable or a special character like ~,
*, !, etc it exapnds it based on the rules of the character.
So when you have PATH="~/bin/:$PATH" because of the way the shell works
it will expand $PATH correctly but it will not mess with the character
"~" because it is inside quotes. What you should do it type this in a shell
echo $PATH
and you will see that your PATH still contains the ~ and it wasn't
expanded to your home directally like it should have been. What this
does is confuse things that use the PATH variable. Some may expand the ~
but my guess is most won't. It is preferable to do
PATH="$HOME/bin:$PATH" to ensure everything gets expanded correctly by
the shell.
Another issue is putting a * or a ? in there would also cause issues
because the shell is instructed to not expand things because of being
between quotes.
jaimos