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


Groups > gnu.bash.bug > #14292

Re: Redirect to variable

From Ilkka Virta <itvirta@iki.fi>
Newsgroups gnu.bash.bug
Subject Re: Redirect to variable
Date 2018-07-03 15:52 +0300
Message-ID <mailman.3001.1530622411.1292.bug-bash@gnu.org> (permalink)
References <CALDPARB9JA75enT1bRa6wFQJsTwLPxibbB99jjvpMj9u2CwFtg@mail.gmail.com>

Show all headers | View raw


On 3.7. 15:43, Robert Durkacz wrote:
> On 5/21/18 Chet Ramey wrote:
>> What you're asking for is syntactic sugar for:
> 
>> some-command > temp-file
>> echo '#' >> temp-file
>> variablename=$(< temp-file)
>> rm -f temp-file
>> variablename=${variablename%?}
> 
>> I would look at a sample implementation, possibly using mmap, if someone
> did one.
> 
> Could someone please explain the reason for inserting and removing the #
> character. It is as if to ensure temp-file is non-empty but it seems to me
> it would work anyway.

Command substitution removes any trailing newlines. Adding an extra 
character to the end prevents that, but then that character itself needs 
to be removed. (Actually, the 'echo' adds a # and an NL, but then the 
command substitution removes the NL so the # remains as last character.)

Run something like  printf "foo bar\n\n" > temp-file  and then try the 
above with and without the #.


-- 
Ilkka Virta / itvirta@iki.fi

Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

Re: Redirect to variable Ilkka Virta <itvirta@iki.fi> - 2018-07-03 15:52 +0300

csiph-web