Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #14452 > unrolled thread

Re: Tilde expansion in assignment-like context

Started byChet Ramey <chet.ramey@case.edu>
First post2018-08-06 15:45 -0400
Last post2018-08-06 15:45 -0400
Articles 1 — 1 participant

Back to article view | Back to gnu.bash.bug

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Tilde expansion in assignment-like context Chet Ramey <chet.ramey@case.edu> - 2018-08-06 15:45 -0400

#14452 — Re: Tilde expansion in assignment-like context

FromChet Ramey <chet.ramey@case.edu>
Date2018-08-06 15:45 -0400
SubjectRe: Tilde expansion in assignment-like context
Message-ID<mailman.4767.1533584761.1292.bug-bash@gnu.org>
On 8/6/18 3:09 PM, Clint Hepner wrote:

> Bash Version: 4.4
> Patch Level: 19
> Release Status: release
> 
> Description:
>         A non-initial unquoted tilde is expanded outside of an assignment. This
>         was raised as a question on Stack Overflow, https://stackoverflow.com/q/51713759/1126841.
> 
> Repeat-By:
>         
>         $ set +k
>         $ echo home_dir=~
>         home_dir=/Users/chepner

Yes. Bash has done this since its earliest days. A word that looks like an
assignment statement has tilde expansion performed after unquoted =~ and :~
no matter where it appears on the command line. This makes things like

	make DESTDIR=~stager/bash-install
or
	export PATH=/usr/local/bin:~/bin:/usr/bin

easy and convenient.

The first version I can find that implemented the =~ and :~ tilde expansion
prefixes is bash-1.10 (1991). Those early versions would have expanded
something like `--home_dir=~'. The first version that restricted it to
words that satisfied the assignment statement restrictions is bash-2.0
(1996).

Bash doesn't do this when it's in posix mode. The first version that
implemented that was bash-1.14.0.

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
		 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    chet@case.edu    http://tiswww.cwru.edu/~chet/

[toc] | [standalone]


Back to top | Article view | gnu.bash.bug


csiph-web