Re: How does bash interpret tilde character?
On 2025-08-10 08:20:37 -0400, The Wanderer wrote:
> > AFAIK, ~/ (without quotes) is equivalent to "$HOME/" (with quotes).
>
> A worthwhile clarification, certainly.
BTW, a difference between shells:
With dash and ksh93:
$ echo ~ foo=~/bar:~/rod
/home/vinc17 foo=~/bar:~/rod
With mksh:
$ echo ~ foo=~/bar:~/rod
/home/vinc17 foo=/home/vinc17/bar:~/rod
With bash:
$ echo ~ foo=~/bar:~/rod
/home/vinc17 foo=/home/vinc17/bar:/home/vinc17/rod
With zsh:
qaa% echo ~ foo=~/bar:~/rod
/home/vinc17 foo=~/bar:~/rod
qaa% setopt MAGIC_EQUAL_SUBST
qaa% echo ~ foo=~/bar:~/rod
/home/vinc17 foo=/home/vinc17/bar:/home/vinc17/rod
And "foo=~/bar:~/rod ; echo $foo" seems to give
"/home/vinc17/bar:/home/vinc17/rod" in all shells.
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)
Reply to: