Zufälligen String mit einer definierten Länge erzeugen
Aus ConfigWiki
(Unterschied zwischen Versionen)
(2 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt) | |||
Zeile 10: | Zeile 10: | ||
# | # | ||
− | # function | + | # function to generate the random string |
# | # | ||
function randstrg () { | function randstrg () { | ||
Zeile 26: | Zeile 26: | ||
# | # | ||
− | # ERROR-handling if parameter 1 set, not to big | + | # ERROR-handling/checking |
+ | # if parameter 1 is set, it should be not to big and a integer value | ||
# | # | ||
if [ ${1} ]; then | if [ ${1} ]; then | ||
Zeile 38: | Zeile 39: | ||
# | # | ||
− | # | + | # finally start after successful ERROR-handling/checking |
# | # | ||
strg= randstrg ${1} | strg= randstrg ${1} | ||
echo $strg | echo $strg | ||
</source> | </source> |
Aktuelle Version vom 20. Dezember 2011, 10:44 Uhr
- Kann z.B. zum erzeugen eines neuen Passwortes genutzt werden.
- Das Bsp.-script prüft:
- ob ein Parameter für die Länge des zu erzeugenden Strings übergeben wird,
- ob dieser ein Integer ist
- und dieser kleiner als 1000000 ist (dient gegen Rechnerstress).
- Die Standardlänge des Strings ist hier 10 Zeichen.
<source lang="bash">
#!/bin/bash # # function to generate the random string # function randstrg () { local strgLength local strg if [ $1 ]; then strgLength=$1 else strgLength=10 fi strg=</dev/urandom tr -dc A-Za-z0-9 | head -c $strgLength return $strg } # # ERROR-handling/checking # if parameter 1 is set, it should be not to big and a integer value # if [ ${1} ]; then if [ ! $(echo "${1}" | grep -E "^[0-9]+$") ] || [ "${1}" -gt 1000000 ]; then echo 'wrong 1. parameter ( Must be an INTEGER <= 1000000! )' echo 'usage:' echo "${0} [ INTEGER ]" exit fi fi # # finally start after successful ERROR-handling/checking # strg= randstrg ${1} echo $strg
</source>