Back to Fish

random - generate random number¶

site/docs/3.2/cmds/random.html

latest1.5 KB
Original Source

This documents an old version of fish. See the latest release.

random - generate random number

Synopsis

randomrandom SEEDrandom START ENDrandom START STEP ENDrandom choice [ITEMS...]

Description

random generates a pseudo-random integer from a uniform distribution. The range (inclusive) depends on the arguments. No arguments indicate a range of 0 to 32767 (inclusive).

If one argument is specified, the internal engine will be seeded with the argument for future invocations of random and no output will be produced.

Two arguments indicate a range from START to END (both START and END included).

Three arguments indicate a range from START to END with a spacing of STEP between possible outputs. random choice will select one random item from the succeeding arguments.

Note that seeding the engine will NOT give the same result across different systems.

You should not consider random cryptographically secure, or even statistically accurate.

Example

The following code will count down from a random even number between 10 and 20 to 1:

for i in (seq (random 10 2 20) -1 1)echo $iend

And this will open a random picture from any of the subdirectories:

open (random choice \*\*.jpg)

Or, to only get even numbers from 2 to 20:

random 2 2 20

Or odd numbers from 1 to 3:

random 1 2 3 # or 1 2 4