Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save si9ma/5b9e06d01b30e697ac0e24aaee73e035 to your computer and use it in GitHub Desktop.
Save si9ma/5b9e06d01b30e697ac0e24aaee73e035 to your computer and use it in GitHub Desktop.

Revisions

  1. @earthgecko earthgecko revised this gist Sep 12, 2016. 1 changed file with 18 additions and 0 deletions.
    18 changes: 18 additions & 0 deletions bash.generate.random.alphanumeric.string.sh
    Original file line number Diff line number Diff line change
    @@ -7,3 +7,21 @@ NEW_UUID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)

    # bash generate random 32 character alphanumeric string (lowercase only)
    cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1

    # Random numbers in a range, more randomly distributed than $RANDOM which is not
    # very random in terms of distribution of numbers.

    # bash generate random number between 0 and 9
    cat /dev/urandom | tr -dc '0-9' | fold -w 256 | head -n 1 | head --bytes 1

    # bash generate random number between 0 and 99
    NUMBER=$(cat /dev/urandom | tr -dc '0-9' | fold -w 256 | head -n 1 | sed -e 's/^0*//' | head --bytes 2)
    if [ "$NUMBER" == "" ]; then
    NUMBER=0
    fi

    # bash generate random number between 0 and 999
    NUMBER=$(cat /dev/urandom | tr -dc '0-9' | fold -w 256 | head -n 1 | sed -e 's/^0*//' | head --bytes 3)
    if [ "$NUMBER" == "" ]; then
    NUMBER=0
    fi
  2. @earthgecko earthgecko created this gist Jul 11, 2012.
    9 changes: 9 additions & 0 deletions bash.generate.random.alphanumeric.string.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,9 @@
    #!/bin/bash
    # bash generate random alphanumeric string
    #

    # bash generate random 32 character alphanumeric string (upper and lowercase) and
    NEW_UUID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)

    # bash generate random 32 character alphanumeric string (lowercase only)
    cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1