Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #14292
| 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> |
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
Re: Redirect to variable Ilkka Virta <itvirta@iki.fi> - 2018-07-03 15:52 +0300
csiph-web