zsh-users
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: Zsh Users <zsh-users@zsh.org>
Subject: Re: random once but not twice
Date: Sun, 12 Nov 2017 20:56:10 -0800	[thread overview]
Message-ID: <CAH+w=7YcYm1b-cvMRJP3Dqwc=MYNjeFYrLXxnv6uUQXnHFDcVQ@mail.gmail.com> (raw)
In-Reply-To: <86mv3r2fvq.fsf@zoho.com>

On Sun, Nov 12, 2017 at 4:15 PM, Emanuel Berg <moasen@zoho.com> wrote:
>
> Works! Only I don't understand this syntax.
> What does it do?
>
>     seed=$(<$file)

RTM:

A command enclosed in parentheses preceded by a dollar sign, like
`$(...)', or quoted with grave accents, like ``...`', is replaced with
its standard output, with any trailing newlines deleted.  If the
substitution is not enclosed in double quotes, the output is broken
into words using the IFS parameter.  The substitution `$(cat FOO)' may
be replaced by the equivalent but faster `$(<FOO)'.  In either case,
if the option GLOB_SUBST is set, the output is eligible for filename
generation.

> and
>
>     print $seed >$file
>
> I suppose is some intentional circular
> short-circuit to generate gibberish data?

The comment in the function explains this:

# This version is slow but works around the fact
# that the random number seed doesn't propagate
# back from a subshell by storing the seed in
# a file.


  reply	other threads:[~2017-11-13  4:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-11 18:57 Emanuel Berg
2017-11-11 21:52 ` Mikael Magnusson
2017-11-11 22:26   ` Emanuel Berg
2017-11-11 22:32     ` Emanuel Berg
2017-11-11 22:46       ` Emanuel Berg
2017-11-12 19:08         ` Peter Stephenson
2017-11-12 20:02           ` Emanuel Berg
2017-11-12 20:15             ` Bart Schaefer
2017-11-12 20:18               ` Emanuel Berg
2017-11-13  0:15           ` Emanuel Berg
2017-11-13  4:56             ` Bart Schaefer [this message]
2017-11-13  5:07               ` Emanuel Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAH+w=7YcYm1b-cvMRJP3Dqwc=MYNjeFYrLXxnv6uUQXnHFDcVQ@mail.gmail.com' \
    --to=schaefer@brasslantern.com \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).