[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: